260 lines
7.2 KiB
C#
260 lines
7.2 KiB
C#
using System;
|
|
using Cpp2IlInjected;
|
|
using UnityEngine;
|
|
|
|
// Token: 0x02000180 RID: 384
|
|
[Token(Token = "0x2000180")]
|
|
public class AttackableObject : MonoBehaviour
|
|
{
|
|
// Token: 0x0600124D RID: 4685 RVA: 0x00029E94 File Offset: 0x00028094
|
|
[Token(Token = "0x600124D")]
|
|
[Address(RVA = "0xB68000", Offset = "0xB66800", VA = "0x180B68000", Slot = "4")]
|
|
public virtual void Init()
|
|
{
|
|
SoundEffect component = base.GetComponent<SoundEffect>();
|
|
this.soundEffect = component;
|
|
SoundEffect soundEffect = this.soundEffect;
|
|
int num = 0;
|
|
if (soundEffect != num)
|
|
{
|
|
this.soundEffect.InitData("SoundEffect");
|
|
Game.BindStageTimeScale(this.soundEffect);
|
|
}
|
|
if (this.Type <= AttackableObject.ObjectType.ReplyMana)
|
|
{
|
|
Shake shake = this.g_Shake;
|
|
Transform transform = base.transform;
|
|
int num2 = 0;
|
|
shake.Start(transform, num2 != 0);
|
|
}
|
|
Transform hpbarPoint = this.HPBarPoint;
|
|
int num3 = 0;
|
|
if (!(hpbarPoint != num3))
|
|
{
|
|
}
|
|
GameObject enemyHpPrefab = Game.GetUIEnemyHp().enemyHpPrefab;
|
|
Transform transform2 = Game.GetUIEnemyHp().transform;
|
|
GameObject gameObject = UnityEngine.Object.Instantiate<GameObject>(enemyHpPrefab, transform2);
|
|
this.uiHPBar = gameObject;
|
|
GameObject gameObject2 = this.uiHPBar;
|
|
int num4 = 0;
|
|
if (gameObject2 == num4)
|
|
{
|
|
Debug.LogError("破壞物件UI錯誤");
|
|
}
|
|
EnemyHpHandler component2 = this.uiHPBar.GetComponent<EnemyHpHandler>();
|
|
this.hpBarInstance = component2;
|
|
GameObject gameObject3 = this.uiHPBar;
|
|
int num5 = 0;
|
|
gameObject3.SetActive(num5 != 0);
|
|
float hp = this.HP;
|
|
this.g_fHPMax = hp;
|
|
this.Id = (int)((ulong)0L);
|
|
}
|
|
|
|
// Token: 0x0600124E RID: 4686 RVA: 0x00029FB4 File Offset: 0x000281B4
|
|
[Token(Token = "0x600124E")]
|
|
[Address(RVA = "0xB68430", Offset = "0xB66C30", VA = "0x180B68430", Slot = "5")]
|
|
protected virtual void OnEnable()
|
|
{
|
|
if (base.CompareTag("AttackableObject"))
|
|
{
|
|
Game.sceneManager.AddAttackable(this);
|
|
}
|
|
SoundEffect soundEffect = this.soundEffect;
|
|
int num = 0;
|
|
if (soundEffect != num)
|
|
{
|
|
SoundEffect soundEffect2 = this.soundEffect;
|
|
if (soundEffect2.Loop)
|
|
{
|
|
int num2 = 0;
|
|
soundEffect2.Play(num2, 1f, 1f);
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600124F RID: 4687 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x600124F")]
|
|
[Address(RVA = "0xB68590", Offset = "0xB66D90", VA = "0x180B68590", Slot = "6")]
|
|
protected virtual void Update()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06001250 RID: 4688 RVA: 0x0002A018 File Offset: 0x00028218
|
|
[Token(Token = "0x6001250")]
|
|
[Address(RVA = "0xB682E0", Offset = "0xB66AE0", VA = "0x180B682E0", Slot = "7")]
|
|
protected virtual void OnDisable()
|
|
{
|
|
if (base.CompareTag("AttackableObject"))
|
|
{
|
|
Game.sceneManager.RemoveAttackable(this);
|
|
}
|
|
SoundEffect soundEffect = this.soundEffect;
|
|
int num = 0;
|
|
if (soundEffect != num && this.soundEffect.GetIsPlaying())
|
|
{
|
|
this.soundEffect.Stop();
|
|
return;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06001251 RID: 4689 RVA: 0x0002A074 File Offset: 0x00028274
|
|
[Token(Token = "0x6001251")]
|
|
[Address(RVA = "0xB682C0", Offset = "0xB66AC0", VA = "0x180B682C0", Slot = "8")]
|
|
protected virtual void LateUpdate()
|
|
{
|
|
this.g_Shake.Update();
|
|
}
|
|
|
|
// Token: 0x06001252 RID: 4690 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6001252")]
|
|
[Address(RVA = "0xB67B30", Offset = "0xB66330", VA = "0x180B67B30", Slot = "9")]
|
|
public virtual void HitPhysical(AttackData AD)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06001253 RID: 4691 RVA: 0x0002A094 File Offset: 0x00028294
|
|
[Token(Token = "0x6001253")]
|
|
[Address(RVA = "0xB67A30", Offset = "0xB66230", VA = "0x180B67A30", Slot = "10")]
|
|
public virtual void HitMagic(AttackData AD)
|
|
{
|
|
Shake shake = this.g_Shake;
|
|
int num = 0;
|
|
ulong num2;
|
|
shake.SetRandomShake(0.2f, 6f, 0.6f, (float)num, num2 != 0UL);
|
|
AttackableObject.ObjectType type = this.Type;
|
|
if (type == AttackableObject.ObjectType.DamageObject || type == AttackableObject.ObjectType.TreasureBox)
|
|
{
|
|
float hp = this.HP;
|
|
this.HP = hp;
|
|
}
|
|
GameObject gameObject = this.uiHPBar;
|
|
int num3 = 0;
|
|
if (gameObject != num3)
|
|
{
|
|
this.uiHPBar.SetActive(true);
|
|
this.g_fHPAlpha = 1f;
|
|
this.g_fHPShowTime = 10f;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06001254 RID: 4692 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6001254")]
|
|
[Address(RVA = "0x29E8B0", Offset = "0x29D0B0", VA = "0x18029E8B0", Slot = "11")]
|
|
public virtual void SetTimeScale(float fTimeScale)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06001255 RID: 4693 RVA: 0x0002A124 File Offset: 0x00028324
|
|
[Token(Token = "0x6001255")]
|
|
[Address(RVA = "0xB679E0", Offset = "0xB661E0", VA = "0x180B679E0")]
|
|
protected float GetWorldDeltaTime()
|
|
{
|
|
return Game.GetStageDeltaTime();
|
|
}
|
|
|
|
// Token: 0x06001256 RID: 4694 RVA: 0x0002A138 File Offset: 0x00028338
|
|
[Token(Token = "0x6001256")]
|
|
[Address(RVA = "0xB67970", Offset = "0xB66170", VA = "0x180B67970")]
|
|
public AttackableObject()
|
|
{
|
|
Shake shake = new Shake();
|
|
this.g_Shake = shake;
|
|
base..ctor();
|
|
}
|
|
|
|
// Token: 0x04001C66 RID: 7270
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4001C66")]
|
|
public AttackableObject.ObjectType Type;
|
|
|
|
// Token: 0x04001C67 RID: 7271
|
|
[FieldOffset(Offset = "0x1C")]
|
|
[Token(Token = "0x4001C67")]
|
|
public float HP;
|
|
|
|
// Token: 0x04001C68 RID: 7272
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x4001C68")]
|
|
protected float g_fHPMax;
|
|
|
|
// Token: 0x04001C69 RID: 7273
|
|
[FieldOffset(Offset = "0x24")]
|
|
[Token(Token = "0x4001C69")]
|
|
protected float g_fHPUnderScale = 1f;
|
|
|
|
// Token: 0x04001C6A RID: 7274
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x4001C6A")]
|
|
protected float g_fHPAlpha;
|
|
|
|
// Token: 0x04001C6B RID: 7275
|
|
[FieldOffset(Offset = "0x2C")]
|
|
[Token(Token = "0x4001C6B")]
|
|
protected float g_fHPShowTime;
|
|
|
|
// Token: 0x04001C6C RID: 7276
|
|
[Token(Token = "0x4001C6C")]
|
|
protected const float g_fHPShowTimeMax = 10f;
|
|
|
|
// Token: 0x04001C6D RID: 7277
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x4001C6D")]
|
|
public Transform HPBarPoint;
|
|
|
|
// Token: 0x04001C6E RID: 7278
|
|
[FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x4001C6E")]
|
|
protected GameObject uiHPBar;
|
|
|
|
// Token: 0x04001C6F RID: 7279
|
|
[FieldOffset(Offset = "0x40")]
|
|
[Token(Token = "0x4001C6F")]
|
|
protected Shake g_Shake;
|
|
|
|
// Token: 0x04001C70 RID: 7280
|
|
[FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x4001C70")]
|
|
protected SoundEffect soundEffect;
|
|
|
|
// Token: 0x04001C71 RID: 7281
|
|
[FieldOffset(Offset = "0x50")]
|
|
[Token(Token = "0x4001C71")]
|
|
protected float g_fDeltaTime;
|
|
|
|
// Token: 0x04001C72 RID: 7282
|
|
[FieldOffset(Offset = "0x58")]
|
|
[Token(Token = "0x4001C72")]
|
|
protected EnemyHpHandler hpBarInstance;
|
|
|
|
// Token: 0x04001C73 RID: 7283
|
|
[FieldOffset(Offset = "0x60")]
|
|
[Token(Token = "0x4001C73")]
|
|
public int Id;
|
|
|
|
// Token: 0x02000181 RID: 385
|
|
[Token(Token = "0x2000181")]
|
|
public enum ObjectType
|
|
{
|
|
// Token: 0x04001C75 RID: 7285
|
|
[Token(Token = "0x4001C75")]
|
|
Null,
|
|
// Token: 0x04001C76 RID: 7286
|
|
[Token(Token = "0x4001C76")]
|
|
ReplyMana,
|
|
// Token: 0x04001C77 RID: 7287
|
|
[Token(Token = "0x4001C77")]
|
|
SwitchDevice,
|
|
// Token: 0x04001C78 RID: 7288
|
|
[Token(Token = "0x4001C78")]
|
|
DamageObject,
|
|
// Token: 0x04001C79 RID: 7289
|
|
[Token(Token = "0x4001C79")]
|
|
TreasureBox
|
|
}
|
|
}
|