protected override void Process(GameEventEntity entity) { var e = entity.eventMoveDeckCard; if (e.TargetPlayerEntity != null) { e.CardEntity.ReplaceOwner(e.TargetPlayerEntity); } else { e.CardEntity.RemoveOwner(); } if (e.IsInBox) { e.CardEntity.AddInBox(0); } else { if (e.CardEntity.hasInBox) { e.CardEntity.RemoveInBox(); } } }
//设置当前的事件 public void setCurrentTag(int tag) { currentEventTag = tag; foreach (GameEventEntity gameEvent in eventList) { if (gameEvent.tag == currentEventTag) { currentGameEvent = gameEvent; //背景 Texture2D texture = Resources.Load(("Images/GameScene/background/" + gameEvent.background)) as Texture2D; backgroundImage.sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), Vector2.zero); //人物 if (gameEvent.characters == null || gameEvent.characters.Length == 0) { roleImage.sprite = null; roleImage.color = new Color(255, 255, 255, 0); } else if (gameEvent.characters.Length == 1) { roleImage.color = new Color(255, 255, 255, 255); texture = Resources.Load(("Images/GameScene/role/" + gameEvent.characters[0])) as Texture2D; roleImage.sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), Vector2.zero); } //对话 currentTextIndex = 0; if (gameEvent.textList.Length > currentTextIndex) { setText(gameEvent.textList[0]); } return; } } Debug.Log("没有事件" + tag); }
void Update() { bool isReload = false; GameEventEntity gameEventEntity = null; GameEventEntity[] entitiesGameEvent = _groupGameEvent.GetEntities(); if (entitiesGameEvent.Length != 0) { gameEventEntity = entitiesGameEvent[0]; if (gameEventEntity.stateEvent.state == "Reload Ready") { isReload = true; } } if (isReload) { gameEventEntity.Destroy(); SceneManager.LoadScene(SceneManager.GetActiveScene().name); } else { _systems.Execute(); } }
private static void FromJsonOverwirte(string text, GameController this_) { JObject jobject = JObject.Parse(text); if (jobject != null) { JToken startTagObj = jobject["startTag"]; if (startTagObj != null) { this_.startTag = int.Parse(startTagObj.ToString()); } JArray eventList = jobject["eventList"] != null ? (JArray)jobject["eventList"] : null; if (eventList != null) { this_.eventList = new GameEventEntity[eventList.Count]; for (int i = 0; i < eventList.Count; i++) { JObject token2 = (JObject)eventList[i]; GameEventEntity entity = this_.eventList[i] = new GameEventEntity(); entity.FromJSON(token2); //GzSSOSession.selectAccList.Add(selectAccList[i].ToString()); } } } }
protected override void Process(GameEventEntity entity) { var weatherEvent = entity.eventCreateWeather; _contexts.game.ReplaceWeather(weatherEvent.Type); _contexts.game.ReplaceWeatherCost(weatherEvent.CostMap); }
protected override void Execute(List <InputEntity> entities) { if (entities.Count == 1) { GameEventEntity[] entitiesGameEvent = _groupGameEvent.GetEntities(); GameEventEntity entitieGameEvent = entitiesGameEvent[0]; entitieGameEvent.ReplaceStateEvent("Death"); } }
protected override void Process(GameEventEntity entity) { var cardEvent = entity.eventUseCardOnUnit; var cardEntity = cardEvent.CardEntity; var ability = (ActiveAbility <UnitEntity>)cardEntity.ability.Ability; ability.OnTargetSelected(cardEvent.UserEntity, cardEvent.TargetEntity); if (cardEntity.hasAbilityEffect) { IAbilityAnimation animation = ability as IAbilityAnimation; if (animation == null) { var effect = Object.Instantiate( cardEntity.abilityEffect.EffectObject, cardEvent.TargetEntity.view.GameObject.transform, false ).GetComponent <AbilityEffect>(); effect.PlayAnimation(); } else { var effect = cardEntity.abilityEffect.EffectObject; animation.PlayAnimation(effect, cardEvent.UserEntity, cardEvent.TargetEntity); } } //if (cardEntity.hasAbilityEffect) //{ // var effect = Object.Instantiate( // cardEntity.abilityEffect.EffectObject, // cardEvent.TargetEntity.view.GameObject.transform, false // ).GetComponent<AbilityEffect>(); // effect.PlayAnimation(); //} if (cardEntity.hasDeckCard) { RemovePlayerCard(cardEntity); } var msg = string.Format("{0} use {1}", cardEvent.UserEntity.owner.Entity.player, cardEntity.cardDescription.Name ); if (cardEvent.TargetEntity != cardEvent.UserEntity) { msg += " to " + cardEvent.TargetEntity.owner.Entity.player; } EventLogger.ShowMessge(msg); }
public void Execute() { GameEventEntity[] entities = _groupEvent.GetEntities(); if (entities.Length != 0) { GameEventEntity entity = entities[0]; if (entity.stateEvent.state == "Game") { foreach (GameEntity e in _groupMovable.GetEntities()) { var move = e.move; var pos = e.position; e.ReplacePosition(pos.x - move.speed, pos.y, pos.z); } } } }
protected override void Execute(List <GameEntity> entities) { foreach (GameEntity e in entities) { if (e.hasView) { e.view.gameObject.Unlink(); } e.Destroy(); } GameEventEntity gameEventEntity = null; GameEventEntity[] gameEventEntities = _groupGameEvent.GetEntities(); if (gameEventEntities.Length != 0) { gameEventEntity = gameEventEntities[0]; if (gameEventEntity.stateEvent.state == "Reload") { gameEventEntity.ReplaceStateEvent("Reload Ready"); } } }
protected override void Process(GameEventEntity entity) { var cycler = new TurnRoundCycler(_gameContext); cycler.Cycle(); }
protected override bool Filter(GameEventEntity entity) { return(entity.isEventEndTurn); }
protected override bool Filter(GameEventEntity entity) { return(entity.hasEventUseCardOnUnit); }
protected override bool Filter(GameEventEntity entity) { return(entity.hasEventCreateWeather); }
protected override bool Filter(GameEventEntity entity) { return(entity.hasEventMoveDeckCard); }
protected override void Process(GameEventEntity entity) { var e = entity.eventSyncBoxCard; e.Card.ReplaceInBox(e.BoxIndex); }
protected override bool Filter(GameEventEntity entity) { return(entity.hasEventSyncBoxCard); }
public void PauseButtonAction() { IGroup<GameEventEntity> _groupGameEvent = Contexts.sharedInstance.gameEvent.GetGroup(Matcher<GameEventEntity>.AllOf(GameEventMatcher.StateEvent)); GameEventEntity[] entitiesGameEvent = _groupGameEvent.GetEntities(); GameEventEntity entityGameEvent = entitiesGameEvent[0]; entityGameEvent.ReplaceStateEvent("Pause"); }