// Use this for initialization void Start() { component = GetComponent<CharPosEffComp>(); stateComponent = GetComponent<CharAnimEffComp>(); stateEff = GetComponent<CharAnimEff>(); statusComponent = GetComponent<ActorStatusComponent>(); charController = GetComponent<CharacterController>(); }
void HandleComponentHasChangedStatus(bool isBase, ActorStatusComponent.StatusType type, float oldVal, float newVal) { if(!isBase){ if(type == ActorStatusComponent.StatusType.HP){ pendingSend = true; sendHP = true; } } }
public void Assign(ActorStatusComponent values) { Type = values.Type; BaseMaxHP = values.BaseMaxHP; BaseHP = values.BaseHP; BaseMoveSpeed = values.BaseMoveSpeed; BaseAttackSpeed = values.BaseAttackSpeed; BaseDamage = values.BaseDamage; MaxHPModifiers = values.MaxHPModifiers; HPModifiers = values.HPModifiers; MoveSpeedModifiers = values.MoveSpeedModifiers; AttackSpeedModifiers = values.AttackSpeedModifiers; DamageModifiers = values.DamageModifiers; MaxHP = values.MaxHP; HP = values.HP; MoveSpeed = values.MoveSpeed; AttackSpeed = values.AttackSpeed; Damage = values.Damage; }
// Use this for initialization void Awake() { component = GetComponent<ActorStatusComponent>(); }
void Start() { statusComp = GetComponent<ActorStatusComponent>(); }
private float GetModifiedStatusf(ActorStatusComponent comp, ActorStatusComponent.StatusType type) { switch(type){ case ActorStatusComponent.StatusType.MAXHP: return ((comp.BaseMaxHP + comp.MaxHPModifiers[0]) * comp.MaxHPModifiers[1] + comp.MaxHPModifiers[2]) * comp.MaxHPModifiers[3]; case ActorStatusComponent.StatusType.HP: return ((comp.BaseHP + comp.HPModifiers[0]) * comp.HPModifiers[1] + comp.HPModifiers[2]) * comp.HPModifiers[3]; case ActorStatusComponent.StatusType.DAMAGE: return ((comp.BaseDamage + comp.DamageModifiers[0]) * comp.DamageModifiers[1] + comp.DamageModifiers[2]) * comp.DamageModifiers[3]; case ActorStatusComponent.StatusType.MOVESPEED: return ((comp.BaseMoveSpeed + comp.MoveSpeedModifiers[0]) * comp.MoveSpeedModifiers[1] + comp.MoveSpeedModifiers[2]) * comp.MoveSpeedModifiers[3]; case ActorStatusComponent.StatusType.ATTACKSPEED: return ((comp.BaseAttackSpeed + comp.AttackSpeedModifiers[0]) * comp.AttackSpeedModifiers[1] + comp.AttackSpeedModifiers[2]) * comp.AttackSpeedModifiers[3]; } return 0f; }
void HandleHasChangedStatus(bool isBase, ActorStatusComponent.StatusType type, float oldVal, float newVal) { if(type == ActorStatusComponent.StatusType.TEAM){ SetColor((int)newVal); } }
// Use this for initialization void Start() { component = GetComponent<ActorStatusComponent>(); component.HasChangedStatus += HandleComponentHasChangedStatus; syncObj = GetComponent<NetSyncObjCharacter>(); }