/// <summary> /// 创建地图元素图标 /// </summary> /// <param name="entity"></param> /// <returns></returns> private UIMiniMapElement CreateMapElement(UInt64 guid, EntityCampType type, float x, float y, float z) { string path = null; bool blueTeam = true; if (PlayerManager.Instance.LocalPlayer != null && type != PlayerManager.Instance.LocalPlayer.EntityCamp) { blueTeam = false; } Ientity entity = EntityManager.AllEntitys[guid]; if (entity.entityType == EntityType.Player) { path = GetPlayerElementPath(blueTeam); } else if (entity.IfNPC()) { path = GetNpcElementPath(entity, blueTeam); } if (string.IsNullOrEmpty(path)) { return(null); } return(LoadElementResource(path, guid, x, y, z)); }
private void AddBuildingWarningVoice(UInt64 sGUID) { if (!EntityManager.AllEntitys.ContainsKey(sGUID)) { return; } Ientity entity = EntityManager.AllEntitys[sGUID]; if (!entity.IfNPC()) { return; } if (entity == null || entity.realObject == null || entity.entityType != EntityType.Building) { return; } if (entity.FSM != null && entity.FSM.State == BlGame.FSM.FsmState.FSM_STATE_DEAD) { return; } /* * if (!mIsFirstAttack) * { * LoadSound(GameDefine.GameConstDefine.WarningBuildingVoice); * mIsFirstAttack = true; * return; * } * if (mTimeBuildingWarning == 0) * { * mTimeBuildingWarning = Time.time; * } * * if (Time.time - mTimeBuildingWarning >= mWarningVoice) * { * Debug.Log("our base is under attack语音提示"); * LoadSound(GameDefine.GameConstDefine.WarningBuildingVoice); * mTimeBuildingWarning = Time.time; * } * * else if (Time.time - mTimeBuildingWarning >= mWarningSound) * { * Debug.Log("minimap waring警告声音"); * LoadSound(GameDefine.GameConstDefine.WarningBuildingSound); * mTimeBuildingWarning = Time.time; * } **/ if (!mIsFirstAttack) { LoadSound(GameDefine.GameConstDefine.WarningBuildingVoice); mIsFirstAttack = true; hasPlayWaringVoice = true; //Debug.Log("mIsFirstAttack"); return; } if (mTimeBuildingWarning == 0) { mTimeBuildingWarning = Time.time; } if (Time.time - mTimeBuildingWarning >= mWarningVoice) { LoadSound(GameDefine.GameConstDefine.WarningBuildingVoice); mTimeBuildingWarning = Time.time; //Debug.Log("mWarningVoice"); hasPlayWaringVoice = true; hasPlayWarningSound = true; } //二十秒内受到攻击则播放警告音效 if ((Time.time - mTimeBuildingWarning <= mWarningSound) && (hasPlayWaringVoice) && (!mIsFirstWarning)) { LoadSound(GameDefine.GameConstDefine.WarningBuildingSound); mTimeBuildingWarning = Time.time; hasPlayWarningSound = true; mIsFirstWarning = true; //Debug.Log("WarningBuildSound 二十秒内受到攻击则播放警告音效"); } //持续受到攻击时播放警告音效十秒之后才会再次播放 if ((Time.time - mTimeBuildingWarning > mWarningSound) && (hasPlayWarningSound)) { LoadSound(GameDefine.GameConstDefine.WarningBuildingSound); mIsFirstWarning = false; mTimeBuildingWarning = Time.time; //Debug.Log("持续受到攻击时播放警告音效十秒之后才会再次播放"); } }