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);
    }
Пример #2
0
    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;
        }
    }