public void SetInGrassStatusByTrigger(ref ActorInGrassParam param) { if (param._src == this.sourceActor) { this.bTrigger = param._bInGrass; } }
public override RefParamOperator TriggerEnter(PoolObjHandle <ActorRoot> src, PoolObjHandle <ActorRoot> atker, ITrigger inTrigger) { ActorInGrassParam actorInGrassParam = new ActorInGrassParam(src, true); Singleton <GameEventSys> .instance.SendEvent <ActorInGrassParam>(GameEventDef.Event_ActorInGrass, ref actorInGrassParam); if (!FogOfWar.enable) { this.ModifyHorizonMarks(src, inTrigger, true); } return(null); }
public override void TriggerLeave(PoolObjHandle <ActorRoot> src, ITrigger inTrigger) { if (FogOfWar.enable) { return; } ActorInGrassParam actorInGrassParam = new ActorInGrassParam(src, false); Singleton <GameEventSys> .get_instance().SendEvent <ActorInGrassParam>(GameEventDef.Event_ActorInGrass, ref actorInGrassParam); this.ModifyHorizonMarks(src, inTrigger, false); }
public void SetInGrassStatusByTrigger(ref ActorInGrassParam param) { if (param._src == this.sourceActor) { this.InGrassCount += (param._bInGrass ? 1 : -1); if (this.InGrassCount < 0) { this.InGrassCount = 0; } this.bTrigger = (this.InGrassCount > 0); } }
public override void TriggerLeave(PoolObjHandle <ActorRoot> src, ITrigger inTrigger) { if (!src) { return; } ActorInGrassParam actorInGrassParam = new ActorInGrassParam(src, false); Singleton <GameEventSys> .instance.SendEvent <ActorInGrassParam>(GameEventDef.Event_ActorInGrass, ref actorInGrassParam); if (this._deadActors.Contains(src.handle.ObjID)) { this._deadActors.Remove(src.handle.ObjID); } else if (!FogOfWar.enable) { this.ModifyHorizonMarks(src, inTrigger, false); } }