// 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); }); }
/// <summary> /// 占领 /// </summary> /// void HoldMine() { GameobjBase myBase = GetComponent <GameobjBase>(); mineExp.GetComponent <GameobjBase>().setOwner(myBase.getOwner());//设置游戏单位为自己方 gameObject.SendMessage(GameobjBase.TryDestroyFUNC); //Destroy(gameObject); }
/// <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)); } }
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); }
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(); } }
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); } }
void Start() { gb = GetComponent <GameobjBase>(); }