private void HandleHeroDeployedEvent(object cookie) { SmartEntity smartEntity = (SmartEntity)cookie; TroopComponent troopComp = smartEntity.TroopComp; if (troopComp == null) { return; } TransformComponent transformComp = smartEntity.TransformComp; if (transformComp == null) { return; } HeroDeployedAction heroDeployedAction = new HeroDeployedAction(); heroDeployedAction.Time = this.GetActionTime(); heroDeployedAction.TroopUid = troopComp.TroopType.Uid; heroDeployedAction.BoardX = transformComp.CenterGridX(); heroDeployedAction.BoardZ = transformComp.CenterGridZ(); TeamComponent teamComp = smartEntity.TeamComp; heroDeployedAction.TeamType = teamComp.TeamType; this.battleRecord.Add(heroDeployedAction); }
private void HeroDeployedActionCallback(uint id, object cookie) { HeroDeployedAction heroDeployedAction = cookie as HeroDeployedAction; IDataController dataController = Service.Get <IDataController>(); TroopTypeVO troopTypeVO = dataController.Get <TroopTypeVO>(heroDeployedAction.TroopUid); IntPosition boardPosition = new IntPosition(heroDeployedAction.BoardX, heroDeployedAction.BoardZ); SmartEntity cookie2 = Service.Get <TroopController>().SpawnHero(troopTypeVO, heroDeployedAction.TeamType, boardPosition); Service.Get <EventManager>().SendEvent(EventId.AddDecalToTroop, cookie2); this.battleController.OnHeroDeployed(troopTypeVO.Uid, heroDeployedAction.TeamType, boardPosition); }