Example #1
0
    public void ResolveSkill(string SkillName, GameObject User, Unit UserUnitComponent)
    {
        for (int i = 0; i < Skills.Count; ++i)
        {
            if (Skills[i].Name == SkillName && UserUnitComponent.GlobalCooldown < 0.0f)
            {
                UserUnitComponent.GlobalCooldown = Skills[i].GlobalCooldown;

                for (int j = 0; j < Skills[i].SkillEffects.Count; ++j)
                {
                    Vector3 Offset = new Vector3(0, 0, 0);

                    Offset += Skills[i].SkillEffects[j].OffsetForward * User.transform.forward;

                    // Create all skill objects (projectiles, particles etc.) associated with skill.
                    GameObject SkillObject = _MetaObjectPool.Instantiate(
                        Skills[i].SkillEffects[j].SpawnObjectName, User.transform.position + Offset,
                        User.transform.rotation);

                    SkillObject.GetComponent <Skill>().UserUnit = UserUnitComponent;
                }
                break;
            }
        }
    }
 // Update is called once per frame
 public override bool Resolve(Unit Target, Unit User)
 {
     if (_MetaObjectPool)
     {
         for (int i = 0; i < ObjectsToCreate.Count; ++i)
         {
             _MetaObjectPool.Instantiate(ObjectsToCreate[i], this.transform.position);
         }
     }
     return(true);
 }
Example #3
0
 // Start is called before the first frame update
 void Start()
 {
     Cursor.visible  = false;
     _MetaObjectPool = GetComponent <MetaObjectPool>();
     _MetaObjectPool.Instantiate("MetaGameCamera");
     _MetaObjectPool.Instantiate("UnitPlayer");
     _MetaObjectPool.Instantiate("UIGameMousePointer");
     _MetaObjectPool.Instantiate("UIGameHeightMarker");
     _MetaObjectPool.Instantiate("UnitCrate", new Vector3(14, 0.5f, 15));
     _MetaObjectPool.Instantiate("UnitCrate", new Vector3(14, 1.5f, 15));
     _MetaObjectPool.Instantiate("UnitCrate", new Vector3(15, 0.5f, 13));
     _MetaObjectPool.Instantiate("UnitCrate", new Vector3(15, 1.5f, 13));
     _MetaObjectPool.Instantiate("UnitCrate", new Vector3(14, 0.5f, 16));
     _MetaObjectPool.Instantiate("UnitCrate", new Vector3(-2, 0.5f, -5));
     _MetaObjectPool.Instantiate("UnitCrate", new Vector3(-3, 0.5f, -7));
     _MetaObjectPool.Instantiate("UnitCrate", new Vector3(-4, 0.5f, -10));
     _MetaObjectPool.Instantiate("UnitCrate", new Vector3(-4, 0.5f, -8));
     _MetaObjectPool.Instantiate("UnitCrate", new Vector3(-6, 0.5f, -11));
     _MetaObjectPool.Instantiate("UnitCrate", new Vector3(-6, 1.5f, -11));
     _MetaObjectPool.Instantiate("UnitCrate", new Vector3(-8, 0.5f, -10));
     _MetaObjectPool.Instantiate("UnitCrate", new Vector3(-8, 0.5f, -8));
     _MetaObjectPool.Instantiate("UnitCrate", new Vector3(-8, 0.5f, -11));
     _MetaObjectPool.Instantiate("UnitCrate", new Vector3(-9, 0.5f, -11));
     _MetaObjectPool.Instantiate("UnitCrate", new Vector3(-9, 0.5f, -12));
     _MetaObjectPool.Instantiate("UnitCrate", new Vector3(-9, 0.5f, -13));
     _MetaObjectPool.Instantiate("UnitCrate", new Vector3(-10, 0.5f, -11));
     _MetaObjectPool.Instantiate("UnitCrate", new Vector3(-10, 1.5f, -11));
     _MetaObjectPool.Instantiate("UnitCrate", new Vector3(8, 0.5f, -11));
     _MetaObjectPool.Instantiate("UnitCrate", new Vector3(8, 0.5f, -12));
     _MetaObjectPool.Instantiate("UnitCrate", new Vector3(7, 0.5f, -13));
     _MetaObjectPool.Instantiate("UnitCrate", new Vector3(6, 0.5f, -11));
     _MetaObjectPool.Instantiate("UnitCrate", new Vector3(6, 1.5f, -11));
 }