public virtual void UpdateSlot(byte index, byte lv) { var slot = user.Slots.Find(x => x.SlotIndex == index); user.SP -= ServerDefine.SlotLv2Price(slot.SlotLv); slot.SlotLv = lv; cubes.Where(x => x.gameCube.CubeId == slot.CubeId).ToList().ForEach(x => x.Lvup()); }
public void Spawn(int seq) { this.seq = seq; hp = ServerDefine.MonsterSeq2HP(seq); speed = 1f; hp_text.text = ((int)hp).ToString(); state = State.Idle; base.Spawn(); }
public override void Upsert(int index, GameSlot data) { base.Upsert(index, data); var cubeData = XmlKey.CubeData.Find <CubeDataXml.Data>(x => x.CubeId == data.CubeId); var price = ServerDefine.SlotLv2Price(data.SlotLv); cube_image.color = new Color(cubeData.Color[0], cubeData.Color[1], cubeData.Color[2]); lv_text.SetText(data.SlotLv.ToString()); sp_text.SetText(price.ToString()); }
public void SetConfig(int chainid, ChainType chainType, ServerDefine server) { _serverDefine = server; _chainId = chainid; _chainType = chainType; if (!string.IsNullOrEmpty(server.Ws)) { _binaryWriter = new BinaryWriter(_memoryStream); Task.Run(WsRun); } }
public override void Upsert(int index, CubeViewModel data) { base.Upsert(index, data); var cubeData = XmlKey.CubeData.Find <CubeDataXml.Data>(x => x.CubeId == data.CubeId); var AD = ServerDefine.CubeLv2AD(cubeData.AD, data.Lv); var AS = ServerDefine.CubeLv2AS(cubeData.AS, data.Lv); cube_image.color = new Color(cubeData.Color[0], cubeData.Color[1], cubeData.Color[2]); lv_text?.SetText(data?.Lv.ToString()); ad_text?.SetText(AD.ToString("N2")); as_text?.SetText(AS.ToString("N2")); }
public void Upsert(GameUser data) { base.Empty(); if (data == null) { return; } base.Upsert(); data.Slots.ForEach((x, i) => { slotComponents[i].Upsert(i, x); slotComponents[i].Lock(data.SP < ServerDefine.SlotLv2Price(x.SlotLv)); }); }
public override void Event(string param) { switch (param) { case "Create": { var data = userComponent.props.data; var needsp = ServerDefine.CubeSeq2NeedSP(data.CubeSeq); if (data.SP < needsp) { return; } teamHandler?.OnCreateCube(1); } break; } base.Event(param); }
protected override void CheckResult() { var users = ServerInfo.GameUsers; if (users.TrueForAll(x => x.Life > 0)) { return; //진행중 } users.OrderByDescending(x => x.Life).ForEach((x, i) => { x.Rank = i; x.Money = ServerDefine.Rank2Money(i); }); GameServer.sInstance?.SendLocal("Result", new SC_Result { Users = users }); }
public async Task <IActionResult> UpdateLv(string userId, int cubeId) { try { var user = await _unitOfWork.Users.GetAsync(x => x.Id == userId, isTracking : true); if (user == null) { return(Payloader.Fail(PayloadCode.DbNull)); } var lv = 0; var cube = await _unitOfWork.Cubes.GetAsync(x => x.UserId == userId && x.CubeId == cubeId); if (cube != null) { lv = cube.Lv; } var price = ServerDefine.CubeLv2Price((byte)lv); if (user.Money < price) { return(Payloader.Fail(PayloadCode.Not)); } user.Money -= price; var newCube = await _unitOfWork.Cubes.UpdateLv(userId, cubeId, 1); await _unitOfWork.CommitAsync(); return(Payloader.Success(new UpdateCubeLvBody() { Cube = _mapper.Map <CubeViewModel>(newCube), Money = user.Money, })); } catch (Exception ex) { return(Payloader.Error(ex)); } }
private void Result() { _state = RoomState.Result; var users = _users.OrderByDescending(x => x.Life).ToList(); users.ForEach((x, i) => { x.Rank = i; x.Money = ServerDefine.Rank2Money(i); }); _context.Clients(_users).SendCoreAsync("Result", PayloadPack.Success(new SC_Result() { Users = users, })); OnGameEnd?.Invoke(_groupName); }
public override void Upsert(GameUser data) { base.Upsert(data); if (data == null) { return; } var needsp = ServerDefine.CubeSeq2NeedSP(data.CubeSeq); name_text.SetText(data.Name); sp_text.SetText(data.SP.ToString()); needsp_text.SetText(needsp.ToString()); needsp_lock_image?.gameObject.SetVisible(data.SP < needsp); life_image.ForEach((x, i) => { x.gameObject.SetVisible((i < data.Life)); }); }
public virtual Cube CreateCube(GameCube gameCube) { var position = Server2Local(new Vector3(gameCube.PositionX, gameCube.PositionY, 0f)); var gameSlot = user.Slots.Find(x => x.CubeId == gameCube.CubeId); var cube = PoolFactory.Get <Cube>("Cube", position, Quaternion.identity, transform); cube.OnMove = OnMove; cube.OnCombineMove = OnCombineMove; cube.OnCombine = OnCombine; cube.OnShot = OnShot; cube.Spawn(user.Id, gameCube, gameSlot); cubes.Add(cube); user.Cubes.Add(gameCube); if (gameCube.CombineLv == 1) { user.SP -= ServerDefine.CubeSeq2NeedSP(user.CubeSeq); } user.CubeSeq++; return(cube); }
protected override bool IsLock() { return(ServerInfo.User.Money < ServerDefine.CubeLv2Price(props.data.Lv)); }
public float AS() { return(ServerDefine.SlotLv2AS(cubeData.AS, gameSlot.CubeLv, gameSlot.SlotLv)); }