private void DealYinKeyDown(string yinName, Yin yin, GameEntity e, GameEntity yinListUi) { if (!e.isMakingYin) { e.isMakingYin = true; foreach (var ui in _context.GetGroup(GameMatcher.UiRootId)) { if (!ui.hasName) { continue; } if (ui.name.text != "NinjutsuQTE") { continue; } ui.ReplaceActive(true); break; } } e.yinList.list.Add(yin); // e.ReplaceChaKuRaExpend(1.0f); var newChaKuRaExpend = new MatchDataChaKuRaExpendControl { matchId = _context.currentMatchData.value.customMatchId, userId = _context.currentPlayerId.value, chaKuRaExpend = 1.0f }; _context.CreateEntity().ReplaceSendMatchData(1007, Utilities.ToJson(newChaKuRaExpend)); var uiName = "NinjutsuYin_" + yinName + "_" + _context.currentInNumber.value; var yinUI = _context.CreateEntity(); yinUI.ReplaceName(uiName); yinUI.ReplaceParentEntity(yinListUi); yinUI.ReplaceUiOpen("NinjutsuYin" + yinName); yinUI.ReplaceUiMoveAction(uiName, false, new Vector2(_context.currentInNumber.value * 100, 0), 0.5f * (9 - _context.currentInNumber.value) / 9); yinUI.ReplaceUiFadeAction(uiName, 1.0f, 0.2f); _context.ReplaceCurrentInNumber(_context.currentInNumber.value + 1); }
protected override void Execute(List <GameEntity> entities) { if (_context.hasBattleOver) { return; } foreach (var e in entities) { var jutsuConfig = _context.ninjutsuAttributes.dic[e.name.text]; var originator = e.originator.value; var chaKuRaCoast = jutsuConfig.chaKuRaCoast; var taiRyuKuCoast = jutsuConfig.taiRyuKuCoast; if (originator.isDead) { continue; } if (!originator.hasId) { e.isDestroy = true; continue; } if (originator.chaKuRaCurrent.value >= chaKuRaCoast) { // originator.ReplaceChaKuRaExpend(chaKuRaCoast); var newChaKuRaExpend = new MatchDataChaKuRaExpendControl { matchId = _context.currentMatchData.value.customMatchId, userId = originator.id.value, chaKuRaExpend = chaKuRaCoast }; _context.CreateEntity().ReplaceSendMatchData(1007, Utilities.ToJson(newChaKuRaExpend)); } else { // originator.ReplaceChaKuRaExpend(originator.chaKuRaCurrent.value); var newChaKuRaExpend = new MatchDataChaKuRaExpendControl { matchId = _context.currentMatchData.value.customMatchId, userId = originator.id.value, chaKuRaExpend = originator.chaKuRaCurrent.value }; _context.CreateEntity().ReplaceSendMatchData(1007, Utilities.ToJson(newChaKuRaExpend)); taiRyuKuCoast += 1.1f * (jutsuConfig.chaKuRaCoast - originator.chaKuRaCurrent.value) / originator.chaKuRaSlewRate.value; } if (originator.taiRyoKuCurrent.value >= taiRyuKuCoast) { // originator.ReplaceTaiRyoKuExpend(taiRyuKuCoast); var newTaiRyoKuExpend = new MatchDataTaiRyuKuExpendControl { matchId = _context.currentMatchData.value.customMatchId, userId = originator.id.value, taiRyuKuExpend = taiRyuKuCoast }; _context.CreateEntity().ReplaceSendMatchData(1008, Utilities.ToJson(newTaiRyoKuExpend)); } else { // originator.ReplaceTaiRyoKuExpend(originator.taiRyoKuCurrent.value); var newTaiRyoKuExpend = new MatchDataTaiRyuKuExpendControl { matchId = _context.currentMatchData.value.customMatchId, userId = originator.id.value, taiRyuKuExpend = originator.taiRyoKuCurrent.value }; _context.CreateEntity().ReplaceSendMatchData(1008, Utilities.ToJson(newTaiRyoKuExpend)); e.isDestroy = true; } foreach (var beforeJutsu in _context.GetGroup(GameMatcher.BeforeJutsuTarget)) { if (beforeJutsu.name.text == e.name.text) { e.ReplaceJutsuTarget(beforeJutsu.jutsuTarget.value); } beforeJutsu.isDestroy = true; } if (!jutsuConfig.needSelectTarget || jutsuConfig.needSelectTarget && e.hasJutsuTarget) { e.isStartConditionConfirm = true; var newJutsuControl = new MatchDataJutsuControl { matchId = _context.currentMatchData.value.customMatchId, originatorId = e.originator.value.id.value, jutsuName = e.name.text, needTarget = jutsuConfig.needSelectTarget }; if (jutsuConfig.needSelectTarget) { newJutsuControl.targetId = e.jutsuTarget.value.id.value; } _context.CreateEntity().ReplaceSendMatchData(1011, Utilities.ToJson(newJutsuControl)); e.isDestroy = true; } } }