Esempio n. 1
0
 public void AddSolider(int indexId, SoliderInfo soliderInfo)
 {
     if (!soliderDict.ContainsKey(indexId))
     {
         soliderDict.Add(indexId, soliderInfo);
     }
 }
Esempio n. 2
0
 public void EnterExcute()
 {
     Debug.Log("BarrackInfo DoAction Start");
     barrackInfo.DoAction("start");
     curTime = 0;
     for (int i = 0; i < 3; i++)
     {
         //如果兵营中已存在该Index的兵种
         if (barrackInfo.ContainsSolider(i))
         {
             SoliderInfo solider = barrackInfo.GetSolider(i);
             //如果该兵种已死亡
             if (solider.IsDead())
             {
                 solider.Reset();
                 solider.ChangeState("ready");
             }
         }
         //如果兵营不存在该Index兵种
         else
         {
             SoliderInfo solider = EntityManager.getInstance().AddSolider(barrackInfo.soliderId);
             solider.SetBarrackPos(barrackInfo.soliderPos[i], barrackInfo.GetPosition());
             solider.ChangeState("ready");
             barrackInfo.AddSolider(i, solider);
         }
     }
 }
Esempio n. 3
0
 void Start()
 {
     Al     = GetComponent <AudioListener> ();
     shot   = GetComponent <Shot> ();
     Pv     = GetComponent <PhotonView> ();
     Vpoint = GameObject.Find("Vpoint");
     info   = GetComponent <SoliderInfo> ();
 }
    public SoliderInfo AddSolider(int soliderId)
    {
        soliderIndexId += 1;
        SoliderInfo charInfo = new SoliderInfo(soliderIndexId, soliderId);

        soliders.Add(soliderIndexId, charInfo);
        this.eventDispatcher.Broadcast("AddSolider", charInfo);
        return(charInfo);
    }
 public void InitSoliderDict()
 {
     Vector3 [] pos = new Vector3[4];
     pos[1] = new Vector3(signPos.x + 30, signPos.y + 40, signPos.z);
     pos[2] = new Vector3(signPos.x - 30, signPos.y + 40, signPos.z);
     pos[3] = new Vector3(signPos.x, signPos.y + 40, signPos.z);
     for (int i = 1; i <= 3; i++)
     {
         SoliderInfo solider = EntityManager.getInstance().AddSolider(50001);
         solider.SetTowerInfo(this, i, pos[i]);
         solider.ChangeState("ready");
         soliderDict.Add(i, solider);
     }
 }
Esempio n. 6
0
    public void AddSolider(object[] data)
    {
        SoliderInfo charInfo = (SoliderInfo)data[0];
        SoliderView charView = new SoliderView(charInfo);

        charView.LoadModel();
        if (soliders.ContainsKey(charInfo.Id))
        {
            soliders[charInfo.Id] = charView;
        }
        else
        {
            soliders.Add(charInfo.Id, charView);
        }
    }
Esempio n. 7
0
    public SoliderInfo AddSolider(int soliderId)
    {
        soliderIndexId += 1;
        if (!soliderPrototypes.ContainsKey(soliderId))
        {
            soliderPrototypes.Add(soliderId, new CharacterPrototype(soliderId, CharacterType.Solider));
        }
        CharacterPrototype proto    = soliderPrototypes[soliderId];
        SoliderInfo        charInfo = proto.CloneSolider(soliderIndexId);

        //soliders.Add(soliderIndexId, charInfo);
        //标记为“添加”
        charInfo.SetDirtySign(false);
        soliderTempList.Add(soliderIndexId, charInfo);
        this.eventDispatcher.Broadcast("AddSolider", charInfo);
        return(charInfo);
    }
Esempio n. 8
0
 public SoliderMove(SoliderInfo _soliderInfo)
 {
     soliderInfo = _soliderInfo;
 }
Esempio n. 9
0
 //普通攻击放到状态机里做,技能用SkillManager做,普通攻击不作为技能处理
 public SoliderAtk(SoliderInfo _soliderInfo)
 {
     soliderInfo = _soliderInfo;
     attackTime  = 0;
     curTime     = 0;
 }
Esempio n. 10
0
 public SoliderReady(SoliderInfo _soliderInfo)
 {
     soliderInfo = _soliderInfo;
 }
Esempio n. 11
0
 public SoliderDead(SoliderInfo _soliderInfo)
 {
     soliderInfo = _soliderInfo;
 }
Esempio n. 12
0
 void Start()
 {
     SINFO = GetComponent <SoliderInfo> ();
 }
Esempio n. 13
0
 public SoliderView(SoliderInfo _soliderInfo)
 {
     this.soliderInfo          = _soliderInfo;
     this.soliderInfo.charView = this;
     this.soliderInfo.eventDispatcher.Register("DoAction", DoAction);
 }
Esempio n. 14
0
 public SoliderIdle(SoliderInfo _soliderInfo)
 {
     soliderInfo  = _soliderInfo;
     intervalTime = 1;
     curTime      = 0;
 }
Esempio n. 15
0
 public void GetNumber(SoliderInfo solidInfo)
 {
     this.attack_Magic    = solidInfo.attack_Magic;
     this.attack_Physical = solidInfo.attack_Physical;
     moveSpeed            = 1.8f;
 }
Esempio n. 16
0
 //处理带有脏标记的单位
 public void CollectDirtyUnit()
 {
     if (monsterTempList.Count > 0)
     {
         foreach (int key in monsterTempList.Keys)
         {
             MonsterInfo monster = monsterTempList[key];
             if (monster.dirtySign > 0)
             {
                 monsters.Add(key, monster);
             }
             else if (monster.dirtySign < 0)
             {
                 monsters.Remove(key);
             }
             monster.dirtySign = 0;
         }
         monsterTempList.Clear();
     }
     if (soliderTempList.Count > 0)
     {
         foreach (int key in soliderTempList.Keys)
         {
             SoliderInfo solider = soliderTempList[key];
             if (solider.dirtySign > 0)
             {
                 soliders.Add(key, solider);
             }
             else if (solider.dirtySign < 0)
             {
                 soliders.Remove(key);
             }
             solider.dirtySign = 0;
         }
         soliderTempList.Clear();
     }
     if (effectTempList.Count > 0)
     {
         foreach (int key in effectTempList.Keys)
         {
             EffectInfo effect = effectTempList[key];
             if (effect.dirtySign > 0)
             {
                 effects.Add(key, effect);
             }
             else if (effect.dirtySign < 0)
             {
                 effects.Remove(key);
             }
             effect.dirtySign = 0;
         }
         effectTempList.Clear();
     }
     if (towerTempList.Count > 0)
     {
         foreach (int key in towerTempList.Keys)
         {
             TowerInfo tower = towerTempList[key];
             if (tower.dirtySign > 0)
             {
                 towers.Add(key, tower);
             }
             else if (tower.dirtySign < 0)
             {
                 towers.Remove(key);
             }
             tower.dirtySign = 0;
         }
         towerTempList.Clear();
     }
 }