public virtual Vector3 CalculateInitial(TargetUnion target, Cast context)
        {
            Vector3 point = context.CastBeginPoint;

            point += new Vector3(0, 1, 0);
            return(point);
        }
示例#2
0
        void SetTarget(TargetUnion target)
        {
            switch (target.Type)
            {
            case TargetType.Point:
                Set(target.Point);
                break;

            case TargetType.Targetable:
                Set(target.Targetable);
                break;

            case TargetType.Character:
                Set(target.Character);
                break;
            }
        }
示例#3
0
        public static Projectile Make(GameObject prefab, ProjectileController controller, Cast context, TargetUnion target)
        {
            GameObject obj = (GameObject)Instantiate(prefab, controller.CalculateInitial(target, context), Quaternion.identity);
            Projectile m   = obj.AddComponent <Projectile>();

            m._context    = context;
            m._controller = controller;
            m.SetTarget(target);
            m._controller.Set(m);
            return(m);
        }