Esempio n. 1
0
    // Use this for initialization
    public void Start()
    {
        gBase = GetComponent <GameobjBase>();
        if (gBase == null)
        {
            throw new System.Exception("生成器忘了加基础游戏脚本了亲");
        }

        if (spawnUnit.GetComponent <Roadmovable>() != null)
        {
            isCharacter = true;
        }
        else
        {
            isCharacter = false;
        }

        CDtimer = TimerController.getInstance().NewTimer(CD, false, delegate(float time) {
            float newcool = CD - time;
            coolDown      = newcool;
        }, delegate()
        {
            setBuildFlag(true);
        });
    }
Esempio n. 2
0
    /// <summary>
    /// 占领
    /// </summary>
    ///
    void HoldMine()
    {
        GameobjBase myBase = GetComponent <GameobjBase>();

        mineExp.GetComponent <GameobjBase>().setOwner(myBase.getOwner());//设置游戏单位为自己方
        gameObject.SendMessage(GameobjBase.TryDestroyFUNC);
        //Destroy(gameObject);
    }
Esempio n. 3
0
 /// <summary>
 /// 初始化ID库
 /// </summary>
 private static void initFromPrefab()
 {
     IDMap.Clear();
     GameObject[] prefabs = Resources.LoadAll <GameObject>("prefab/entity");
     foreach (GameObject obj in prefabs)
     {
         GameobjBase b = obj.GetComponent <GameobjBase>();
         IDMap.Add(b.game_ID, new GameObjectName(b.game_name_en, b.game_name));
     }
 }
Esempio n. 4
0
    public override void OnEnemyCollisionStart(Collider enemy)
    {
        base.OnEnemyCollisionStart(enemy);
        GuardAbs    enemyG = enemy.GetComponent <GuardAbs>();
        GameobjBase enemyB = enemy.GetComponent <GameobjBase>();

        if (enemyG == null || enemyB == null)
        {
            return;
        }

        Attack(enemyG);
    }
    void OnTriggerEnter(Collider other)
    {
        //这里要处理所有玩家的单位,所以不去继承之前写的那个基类
        GameobjBase gBase   = other.GetComponent <GameobjBase>();
        GoldCarrier carrier = other.GetComponent <GoldCarrier>();

        if (gBase == null || carrier == null)
        {
            return;
        }
        UnityEventCenter.SendMessage <ScoreAddEvent>(new ScoreAddEvent(gameObject, gBase.getOwner(), carrier.popGold()));//发送分数增加事件
        other.gameObject.SendMessage(GameobjBase.TryDestroyFUNC);
        //Destroy(other.gameObject);
    }
Esempio n. 6
0
    void OnTriggerEnter(Collider other)
    {
        GameobjBase  gBase = other.GetComponent <GameobjBase>();
        MineMountain mine  = other.GetComponent <MineMountain>();

        if (mine == null)
        {
            return;
        }
        if (!mineExp && mine.isSmallMine)
        {
            //是建筑且是矿山的时候
            mineExp = other.gameObject;
            HoldMineDelay();
        }
    }
Esempio n. 7
0
    void OnTriggerStay(Collider other)
    {
        GameobjBase gBase = other.GetComponent <GameobjBase>();

        if (gBase == null)
        {
            return;
        }
        if (gBase.getOwner() == GetComponent <GameobjBase>().getOwner())
        {
            OnSelfUnitCollisionStay(other);
        }
        else if (gBase.getOwner() == GameobjBase.WORLD)
        {
            OnWorldUnitCollisionStay(other);
        }
        else
        {
            OnEnemyCollisionStay(other);
        }
    }
Esempio n. 8
0
 void Start()
 {
     gb = GetComponent <GameobjBase>();
 }