public static EffectStoneThrow CreateObject(BaseCharacter target, BaseCharacter attacker, string damage, AttackState at) { //var obj = GameObject.Instantiate(ResourceInformation.Effect.transform.FindChild("Stone").gameObject); //obj.transform.SetParent(ResourceInformation.Effect.transform, false); //EffectStoneThrow d = obj.AddComponent<EffectStoneThrow>(); //d.Parent = obj; EffectStoneThrow d = GetGameObject <EffectStoneThrow>(false, "Stone", ResourceInformation.Effect.transform); d.Direction = attacker.Direction; d.eDamage = EffectDamage.CreateObject(target); d.eDamage.SetText(damage, at); //目標位置の取得 d.TargetPoint = new Vector3(target.CurrentPoint.X * target.PositionUnit, target.PosY, target.CurrentPoint.Y * target.PositionUnit); //現在位置の取得 Vector3 v = new Vector3(attacker.CurrentPoint.X * attacker.PositionUnit, target.PosY, attacker.CurrentPoint.Y * attacker.PositionUnit); d.Parent.transform.localPosition = v; return(d); }
public override void AttackEffect(BaseCharacter target, BaseCharacter attacker, string damage, AttackState state, AttackInformation atinfo) { switch (WEType) { case WeaponEffectType.Stone: atinfo.AddEffect(EffectStoneThrow.CreateObject(target, attacker, damage, state)); break; case WeaponEffectType.MachineGun: atinfo.AddEffect( EffectGunFIre.CreateObject(target, attacker, damage, state)); break; default: base.AttackEffect(target, attacker, damage, state, atinfo); break; } }