public void RecyleCooldown(CooldownCtrl ctrl) { if (ctrl == null) { return; } if (ctrl.Owner != null) { ctrl.Destroy(); } }
public CooldownCtrl GetNewCoolDown(Actor owner) { if (owner == null) { return(null); } if (owner.IsLocalPlayer) { uint pre_scene_id = SceneHelp.Instance.PreSceneID; bool pre_scene_is_secretArea = IsSecretArea(pre_scene_id); uint cur_scene_id = SceneHelp.Instance.CurSceneID; bool cur_scene_is_secretArea = IsSecretArea(cur_scene_id); bool can_reset_cd = false; DBInstance.InstanceInfo cur_instance_info = InstanceManager.Instance.InstanceInfo; if (DBInstanceTypeControl.Instance.ClearCd(cur_instance_info.mWarType, cur_instance_info.mWarSubType)) { can_reset_cd = true; } if ((pre_scene_is_secretArea || cur_scene_is_secretArea) && pre_scene_id != cur_scene_id) {//进出武神塔(同一武神塔内切换不重置),都要重置CD can_reset_cd = true; } if (can_reset_cd == true) { m_localPlayerCtrl = null; } if (m_localPlayerCtrl == null) { m_localPlayerCtrl = new CooldownCtrl(owner); } else { m_localPlayerCtrl.SetOwner(owner); } return(m_localPlayerCtrl); } return(new CooldownCtrl(owner)); }