public void Load(Stream s) { data = new ConstData(); data.items = new List <ConstItem>(); BinaryReader br = new BinaryReader(s); var magic = new String(br.ReadChars(20)); data.aptdataoffset = br.ReadUInt32(); data.itemcount = br.ReadUInt32(); s.Seek(4, SeekOrigin.Current); for (var i = 0; i < data.itemcount; ++i) { ConstItem item = new ConstItem(); item.type = (ConstItemType)br.ReadUInt32(); if (item.type == ConstItemType.TYPE_NUMBER) { item.value = br.ReadUInt32(); } else if (item.type == ConstItemType.TYPE_STRING) { item.value = ReadCString(br); } data.items.Add(item); } }
public GameSimulation(GameSettings setSttings, ConstData conConstantData) { m_setGameSettings = setSttings; m_conConstantGameData = conConstantData; //calculate queue length int iQueueLength = (int)FixMath.Ceiling(m_setGameSettings.m_fixTargetQueueLength / m_setGameSettings.m_fixTickDelta); //fill queue m_frmDenseFrameQueue = new List <FrameData>(iQueueLength); for (int i = 0; i < iQueueLength; i++) { m_frmDenseFrameQueue.Add(new FrameData(m_conConstantGameData.PlayerCount)); } m_bInputsForTick = new List <byte>(m_conConstantGameData.PlayerCount); m_ipbPlayerInputs = new List <InputBuffer>(m_conConstantGameData.PlayerCount); for (int i = 0; i < m_conConstantGameData.PlayerCount; i++) { m_bInputsForTick.Add(0); m_ipbPlayerInputs.Add(new InputBuffer(iQueueLength)); } }
internal override void Resolve() { if (blob != null) { return; } if (ongoingResolution) { throw new Exception(String.Format( "circular reference in blobs ({0})", Name)); } ongoingResolution = true; WordData wd = TC.Lookup(baseBlobName) as WordData; if (wd == null) { throw new Exception(String.Format( "data word '{0}' based on non-data word '{1}'", Name, baseBlobName)); } wd.Resolve(); blob = wd.blob; offset += wd.offset; ongoingResolution = false; }
public Exp(int[] arr, int level, bool isShipExp) { IsOverflow = false; Next = 0; Current = arr[0]; if (isShipExp)//舰娘exp { Next = arr[1]; NextLevel = Current + Next; PrevLevel = ConstData.GetShipExp(level); } else//提督exp { NextLevel = arr[1]; if (NextLevel != 0) { Next = NextLevel - Current; } else { IsOverflow = true; } PrevLevel = ConstData.GetAdmiralExp(level); } }
public bool CheckPTKuaFuLoginSign(KuaFuServerLoginData data) { string signKey = null; string worldRoleID = ConstData.FormatWorldRoleID(data.RoleId, data.PTID); string[] ips; int[] ports; int result = KuaFuWorldClient.getInstance().CheckEnterWorldKuaFuSign(worldRoleID, data.SignToken, out signKey, out ips, out ports); bool result2; if (result < 0) { LogManager.WriteLog(LogTypes.Error, string.Format("CheckEnterWorldKuaFuSign faild,roleid={0},ptid={1},result={2}", data.RoleId, data.PTID, result), null, true); result2 = false; } else { string kfsign = MD5Helper.get_md5_string(data.SignDataString() + signKey).ToLower(); if (kfsign != data.SignCode) { LogManager.WriteLog(LogTypes.Error, string.Format("CheckEnterWorldKuaFuSign SignCode Error,roleid={0},ptid={1},SignCode={2}", data.RoleId, data.PTID, data.SignCode), null, true); result2 = false; } else { data.ips = ips; data.ports = ports; result2 = true; } } return(result2); }
public async Task <IActionResult> Index() { var month = DateTime.Now.Month; var year = DateTime.Now.Year; if (month == 1) { year = year - 1; month = 12; } else { month = month - 1; } ViewBag.Month = month; ViewBag.Year = year; var sources = await _context.Sources.ToListAsync(); var sourcesSelectListItems = from s in sources select new SelectListItem { Value = s.SourceId.ToString(), Text = s.Description }; ViewBag.Months = ConstData.MonthsSelectList(); ViewBag.Sources = sourcesSelectListItems.ToList(); return(View()); }
internal WordData(T0Comp owner, string name, ConstData blob, int offset) : base(owner, name) { this.blob = blob; this.offset = offset; StackEffect = new SType(0, 1); }
/// <summary> /// /// </summary> public override void Initialize() { LoadContent(); Game.Reloading += (s, e) => LoadContent(); constBuffer = new ConstantBuffer(device, typeof(ConstData)); constData = new ConstData(); }
public int RegPTKuaFuRoleData(ref KuaFuWorldRoleData data) { data.WorldRoleID = ConstData.FormatWorldRoleID(data.LocalRoleID, data.PTID); KuaFuWorldRoleData roleData = this.LoadKuaFuWorldRoleData(data.LocalRoleID, data.PTID, data.WorldRoleID); int result; if (null != roleData) { if (data.RoleData != null) { roleData.RoleData = data.RoleData; int dbRet = YongZheZhanChangPersistence.Instance.WriteKuaFuWorldRoleData(roleData); if (dbRet < 0) { return(dbRet); } } data = roleData; result = 0; } else { for (int i = 0; i < 10; i++) { int tempRoleIDLimit = 0; int maxTempRoleID = YongZheZhanChangPersistence.Instance.GetKuaFoWorldMaxTempRoleID(out tempRoleIDLimit); if (maxTempRoleID >= tempRoleIDLimit) { return(-22); } roleData = YongZheZhanChangPersistence.Instance.InsertKuaFuWorldRoleData(data, maxTempRoleID + 1); if (null != roleData) { lock (this.Mutex) { KuaFuWorldRoleData temp; if (!this.RoleDataDict.TryGetValue(data.WorldRoleID, out temp) || temp == null) { this.RoleDataDict[data.WorldRoleID] = roleData; } } break; } Thread.Sleep(500); } if (null != roleData) { data = roleData; result = roleData.TempRoleID; } else { result = -15; } } return(result); }
/// <summary> /// /// </summary> public override void Initialize() { LoadContent(); Game.Reloading += (s,e) => LoadContent(); constBuffer = new ConstantBuffer( device, typeof(ConstData) ); constData = new ConstData(); }
public KFCopyTeamJoinRsp JoinTeam(KFCopyTeamJoinReq req) { KFCopyTeamJoinRsp rsp = new KFCopyTeamJoinRsp(); try { lock (this.Mutex) { this.ForceLeaveRoom(req.Member.RoleID); CopyTeamData td = null; if (!this.CopyTeamDict.TryGetValue(req.TeamId, out td)) { rsp.ErrorCode = CopyTeamErrorCodes.TeamIsDestoryed; return(rsp); } if (td.StartTime > 0L) { rsp.ErrorCode = CopyTeamErrorCodes.TeamAlreadyStart; return(rsp); } if (td.MemberCount >= ConstData.CopyRoleMax(req.CopyId)) { rsp.ErrorCode = CopyTeamErrorCodes.TeamIsFull; return(rsp); } req.Member.IsReady = false; td.TeamRoles.Add(req.Member); td.MemberCount = td.TeamRoles.Count; if (!req.Member.IsReady) { req.Member.NoReadyTicks = TimeUtil.NOW(); } this.RoleId2JoinedTeam[req.Member.RoleID] = td.TeamID; CopyTeamJoinData data = new CopyTeamJoinData(); data.Member = req.Member; data.TeamId = req.TeamId; this.AddAsyncEvent(new AsyncDataItem { EventType = KuaFuEventTypes.KFCopyTeamJoin, Args = new object[] { req.Member.ServerId, data } }); rsp.ErrorCode = CopyTeamErrorCodes.Success; rsp.Data = data; } } catch (Exception ex) { LogManager.WriteLog(LogTypes.Error, string.Format("加入跨服副本队伍异常, serverid={0}, role={1}, teamid={2}", req.Member.ServerId, req.Member.RoleID, req.TeamId), ex, true); rsp.ErrorCode = CopyTeamErrorCodes.CenterServerFailed; } return(rsp); }
private void Awake() { if (Instance != null) { Destroy(gameObject); return; } Instance = this; DontDestroyOnLoad(gameObject); }
/// <summary> /// Lua 将解析到的xml生成string,并赋值到sb /// </summary> void sWriteLuaFileContent(StringBuilder lua_db, ConstFileData fileData) { lua_db.AppendLine(fileData.mClassName + " = class(\"" + fileData.mClassName + "\");"); lua_db.AppendLine(fileData.mClassName + ".__index = " + fileData.mClassName + ";"); lua_db.AppendLine(); for (int i = 0; i < fileData.mConstList.Count; ++i) { ConstData tempData = fileData.mConstList[i]; string target = "{0}.{1} = {2}; \t\t\t\t--{3}"; lua_db.AppendFormat(target, fileData.mClassName, tempData.mName, tempData.mValue, tempData.mComment); lua_db.Append("\n"); } }
/// <summary> /// C# 将解析到的xml生成string,并赋值到sb /// </summary> void sWriteCSFileContent(StringBuilder sb, ConstFileData fileData) { sb.AppendLine("public class " + fileData.mClassName); sb.AppendLine("{"); for (int i = 0; i < fileData.mConstList.Count; ++i) { ConstData tempData = fileData.mConstList[i]; string target = "\tpublic const {0} {1} = {2}; \t\t\t\t//{3}"; sb.AppendFormat(target, tempData.mType, tempData.mName, tempData.mValue, tempData.mComment); sb.Append("\n"); } sb.AppendLine("}"); }
public Exp(int exp, int level)//提督exp { Current = exp; NextLevel = ConstData.GetAdmiralExp(level + 1); PrevLevel = ConstData.GetAdmiralExp(level); if (NextLevel != 0) { Next = NextLevel - Current; } else { IsOverflow = true; } }
internal override List <ConstData> GetDataBlocks() { Resolve(); List <ConstData> r = new List <ConstData>(); foreach (Opcode op in Code) { ConstData cd = op.GetDataBlock(TC); if (cd != null) { r.Add(cd); } } return(r); }
/// <summary> /// Initialization /// </summary> public override void Initialize () { var dev = Game.GraphicsDevice; effect = Game.Content.Load<Ubershader>("debugRender.hlsl"); factory = effect.CreateFactory( typeof(RenderFlags), Primitive.LineList, VertexInputElement.FromStructure( typeof(LineVertex) ), BlendState.AlphaBlend, RasterizerState.CullNone ); constData = new ConstData(); constBuffer = new ConstantBuffer(dev, typeof(ConstData)); // create vertex buffer : vertexBuffer = new VertexBuffer(dev, typeof(LineVertex), vertexBufferSize, VertexBufferOptions.Dynamic ); vertexDataAccum.Capacity = vertexBufferSize; }
/// <summary> /// Constructor /// </summary> public DebugRender(Game game) { this.Game = game; var dev = Game.GraphicsDevice; LoadContent(); constData = new ConstData(); constBuffer = new ConstantBuffer(dev, typeof(ConstData)); // create vertex buffer : vertexBuffer = new VertexBuffer(dev, typeof(LineVertex), vertexBufferSize, VertexBufferOptions.Dynamic); vertexDataAccum.Capacity = vertexBufferSize; Game.Reloading += (s, e) => LoadContent(); }
/// <summary> /// Initialization /// </summary> public override void Initialize() { base.Initialize(); var dev = Game.GraphicsDevice; effect = Game.Content.Load <Ubershader>("debugRender.hlsl"); factory = new StateFactory(effect, typeof(RenderFlags), Primitive.LineList, VertexInputElement.FromStructure(typeof(LineVertex)), BlendState.AlphaBlend, RasterizerState.CullNone); constData = new ConstData(); constBuffer = new ConstantBuffer(dev, typeof(ConstData)); // create vertex buffer : vertexBuffer = new VertexBuffer(dev, typeof(LineVertex), vertexBufferSize, VertexBufferOptions.Dynamic); vertexDataAccum.Capacity = vertexBufferSize; }
private void SetupSimulation() { //deserialize key data m_gstSettings.Deserialize(); //create list of all players List <byte> bPlayerCharacters = new List <byte>(m_playerCount); //fill player character list for (int i = 0; i < m_playerCount; i++) { bPlayerCharacters.Add(0); } m_conGameData = new ConstData(bPlayerCharacters); m_simGameSim = new GameSimulation(m_gstSettings, m_conGameData); }
void Start() { saveData = saveMethod.Load(); constData = constMethod.Load(); int element = 0; // 自ライバーの数 // Listに全て格納 AddList(ref subscriberList, ref element, constData, saveData); // if: readonly out: write ref: both // ソート subscriberList.Sort(); subscriberList.Reverse(); // ランキング表示 DisplayRanking(subscriberList, element); subscriberList.Clear(); // Listの消去 }
public IActionResult Index() { var month = DateTime.Now.Month; var year = DateTime.Now.Year; if (month == 1) { year = year--; month = 12; } else { month = month--; } ViewBag.Month = month; ViewBag.Year = year; ViewBag.Months = ConstData.MonthsSelectList(); return(View()); }
public void ChangeName(int ptId, int roleId, string roleName) { try { lock (this.Mutex) { KeyValuePair <int, int> key = new KeyValuePair <int, int>(ptId, roleId); KuaFuData <KFRebornRoleData> kfRebornRoleData = null; if (this.RebornRoleDataDict.TryGetValue(key, out kfRebornRoleData)) { kfRebornRoleData.V.RoleName = roleName; TimeUtil.AgeByNow(ref kfRebornRoleData.Age); this.Persistence.UpdateRebornRoleDataRoleName(kfRebornRoleData.V); bool refreshRank = false; foreach (KeyValuePair <int, List <KFRebornRankInfo> > kvp in this.RebornRankDict.V) { KFRebornRankInfo item = kvp.Value.Find((KFRebornRankInfo x) => x.PtID == ptId && x.Key == roleId); if (null != item) { string worldRoleID = ConstData.FormatWorldRoleID(roleId, ptId); KuaFuWorldRoleData worldRoleData = TSingleton <KuaFuWorldManager> .getInstance().LoadKuaFuWorldRoleData(roleId, ptId, worldRoleID); if (null != worldRoleData) { item.Param1 = KuaFuServerManager.FormatName(item.tagInfo.V.RoleName, worldRoleData.ZoneID); refreshRank = true; } } } if (refreshRank) { TimeUtil.AgeByNow(ref this.RebornRankDict.Age); } } } } catch (Exception ex) { LogManager.WriteException(ex.ToString()); } }
public void Load(Stream s) { data = new ConstData(); data.items = new List<ConstItem>(); BinaryReader br = new BinaryReader(s); var magic = new String(br.ReadChars(20)); data.aptdataoffset = br.ReadUInt32(); data.itemcount = br.ReadUInt32(); s.Seek(4, SeekOrigin.Current); for(var i= 0;i< data.itemcount;++i) { ConstItem item = new ConstItem(); item.type = (ConstItemType)br.ReadUInt32(); if (item.type == ConstItemType.TYPE_NUMBER) item.value = br.ReadUInt32(); else if (item.type == ConstItemType.TYPE_STRING) item.value = ReadCString(br); data.items.Add(item); } }
public static float GetBuffValue(float value, uint level) { float result = 0; ConstData constData = ConstData.GetConstData(); switch (level) { case 1: result = value; break; //case 2: // result = value * constData.skillHurtB1; // break; //case 3: // result = value * constData.skillHurtB2; // break; default: result = value; break; } return(result); }
//simulate a single frame public bool SimulateFrame(GameSettings setSettings, ConstData conConstantGameData, List <InputBuffer> ipbPlayerInputs, List <byte> bInputsForTick, FrameData frmFrameToSimulate, FrameData frmSimulatedFrame) { //was simulation successfull bool bSuccess = false; //get inputs for frame GetInputsForFrame(ipbPlayerInputs, bInputsForTick, frmFrameToSimulate.m_iTickNumber); //check for death //update cool downs //update all state changes //perform all moves bSuccess = PerformMoveProcess(setSettings, conConstantGameData, bInputsForTick, frmFrameToSimulate, frmSimulatedFrame, setSettings.m_fixTickDelta); //perform all attacks //increment frame tick frmSimulatedFrame.m_iTickNumber = frmFrameToSimulate.m_iTickNumber + 1; return(true); }
public bool PerformMoveProcess(GameSettings setSettings, ConstData conConstantGameData, List <byte> bInputsForTick, FrameData frmCurrentFrame, FrameData frmUpdatedFrame, Fix iTick) { //get refferences to the arrays that we will be processing List <byte> inPlayerStates = frmCurrentFrame.m_bPlayerState; List <byte> outPlayerStates = frmUpdatedFrame.m_bPlayerState; List <FixVec2> inPlayerPos = frmCurrentFrame.m_v2iPosition; List <FixVec2> outPlayerPos = frmUpdatedFrame.m_v2iPosition; List <byte> inMoveDirection = frmCurrentFrame.m_bFaceDirection; List <byte> outMoveDirection = frmUpdatedFrame.m_bFaceDirection; //loop through all the players for (int i = 0; i < frmCurrentFrame.PlayerCount; i++) { //check if player is in a state to move if (inPlayerStates[i] == (byte)FrameData.State.Standing || inPlayerStates[i] == (byte)FrameData.State.Moving) { //get movement direction from input FixVec2 v2iMoveDirection = FixVec2.Zero; outMoveDirection[i] = (byte)FrameData.Direction.None; if ((bInputsForTick[i] & (byte)InputKeyFrame.Input.Up) > 0) { v2iMoveDirection = new FixVec2(v2iMoveDirection.X, 1); outMoveDirection[i] = (byte)FrameData.Direction.None;; } else if ((bInputsForTick[i] & (byte)InputKeyFrame.Input.Down) > 0) { v2iMoveDirection = new FixVec2(v2iMoveDirection.X, -1); outMoveDirection[i] = (byte)FrameData.Direction.Down; } if ((bInputsForTick[i] & (byte)InputKeyFrame.Input.Left) > 0) { v2iMoveDirection = new FixVec2(-1, v2iMoveDirection.Y); outMoveDirection[i] = (byte)(outMoveDirection[i] | (byte)FrameData.Direction.Left); } else if ((bInputsForTick[i] & (byte)InputKeyFrame.Input.Right) > 0) { v2iMoveDirection = new FixVec2(1, v2iMoveDirection.Y); outMoveDirection[i] = (byte)(outMoveDirection[i] | (byte)FrameData.Direction.Right); } if (v2iMoveDirection.GetMagnitude() == 0) { //if there is no movment command outMoveDirection[i] = inMoveDirection[i]; outPlayerStates[i] = (byte)FrameData.State.Standing; outPlayerPos[i] = inPlayerPos[i]; return(true); } //apply movement speed v2iMoveDirection = v2iMoveDirection * (setSettings.m_fixMoveSpeed * iTick); //apply movement to position outPlayerPos[i] = inPlayerPos[i] + v2iMoveDirection; //set move state outPlayerStates[i] = (byte)FrameData.State.Moving; } } return(true); }
protected void Initialize(Gis.GeoPoint[] points, int[] indeces, bool isDynamic) { shader = Game.Content.Load<Ubershader>("globe.Poly.hlsl"); factory = shader.CreateFactory(typeof(PolyFlags), EnumFunc); factoryXray = shader.CreateFactory(typeof(PolyFlags), Primitive.TriangleList, VertexInputElement.FromStructure<Gis.GeoPoint>(), BlendState.Additive, RasterizerState.CullCW, DepthStencilState.None); var vbOptions = isDynamic ? VertexBufferOptions.Dynamic : VertexBufferOptions.Default; firstBuffer = new VertexBuffer(Game.GraphicsDevice, typeof(Gis.GeoPoint), points.Length, vbOptions); firstBuffer.SetData(points); currentBuffer = firstBuffer; indexBuffer = new IndexBuffer(Game.Instance.GraphicsDevice, indeces.Length); indexBuffer.SetData(indeces); PointsCpu = points; cb = new ConstantBuffer(Game.GraphicsDevice, typeof(ConstData)); constData = new ConstData(); constData.Data = Vector4.One; }
/// <summary> /// 加入房间 /// </summary> public KFCopyTeamJoinRsp JoinTeam(KFCopyTeamJoinReq req) { KFCopyTeamJoinRsp rsp = new KFCopyTeamJoinRsp(); try { lock (Mutex) { // 这里有个很微妙的情况,因为加入队伍时,首先GameServer要检查 // 但是如果GameServer重启了,那么必然能通过检查,但是其实在中心上已经为该角色加入了一个队伍,必须强制踢掉 ForceLeaveRoom(req.Member.RoleID); CopyTeamData td = null; if (!CopyTeamDict.TryGetValue(req.TeamId, out td)) { // 房间不存在!!! GameServer要检查这个错误码,可能出现的情况是 跨服中心重启了,那么GameServer要把这个房间清掉 rsp.ErrorCode = CopyTeamErrorCodes.TeamIsDestoryed; return(rsp); } if (td.StartTime > 0) { // 房间已经开始了 rsp.ErrorCode = CopyTeamErrorCodes.TeamAlreadyStart; return(rsp); } // 擦,写死了5个人 if (td.MemberCount >= ConstData.CopyRoleMax(req.CopyId)) { rsp.ErrorCode = CopyTeamErrorCodes.TeamIsFull; return(rsp); } req.Member.IsReady = false; td.TeamRoles.Add(req.Member); td.MemberCount = td.TeamRoles.Count; RoleId2JoinedTeam[req.Member.RoleID] = td.TeamID; // 异步广播加入队伍的事件 CopyTeamJoinData data = new CopyTeamJoinData(); data.Member = req.Member; data.TeamId = req.TeamId; AsyncDataItem evItem = new AsyncDataItem(); evItem.EventType = KuaFuEventTypes.KFCopyTeamJoin; evItem.Args = new object[2] { req.Member.ServerId, data }; AddAsyncEvent(evItem); rsp.ErrorCode = CopyTeamErrorCodes.Success; rsp.Data = data; } } catch (Exception ex) { LogManager.WriteLog(LogTypes.Error, string.Format("加入跨服副本队伍异常, serverid={0}, role={1}, teamid={2}", req.Member.ServerId, req.Member.RoleID, req.TeamId), ex); rsp.ErrorCode = CopyTeamErrorCodes.CenterServerFailed; } return(rsp); }
public void refresh(string fielpath) { if (fielpath.Length != 0) { //WWW www = new WWW(fielpath); //yield return www; //MemoryStream ms = new MemoryStream(www.bytes); TextAsset txt = Resources.Load(fielpath) as TextAsset; MemoryStream ms = new MemoryStream(txt.bytes); StructArry pbi = Serializer.DeserializeWithLengthPrefix <StructArry>(ms, PrefixStyle.None); Type type = pbi.GetType(); string strname = type.Name; switch (strname) { case "MsgAttackData": MsgAttackData struct1 = pbi as MsgAttackData; DataPool = struct1.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { AttackData dt = DataPool[i] as AttackData; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgAwakeningSkill": MsgAwakeningSkill struct2 = pbi as MsgAwakeningSkill; DataPool = struct2.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { AwakeningSkill dt = DataPool[i] as AwakeningSkill; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgAwakeningSkillLevel": MsgAwakeningSkillLevel struct3 = pbi as MsgAwakeningSkillLevel; DataPool = struct3.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { AwakeningSkillLevel dt = DataPool[i] as AwakeningSkillLevel; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgElementFactor": MsgElementFactor struct4 = pbi as MsgElementFactor; DataPool = struct4.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { ElementFactor dt = DataPool[i] as ElementFactor; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgBuffData": MsgBuffData struct5 = pbi as MsgBuffData; DataPool = struct5.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { BuffData dt = DataPool[i] as BuffData; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgCombinationData": MsgCombinationData struct6 = pbi as MsgCombinationData; DataPool = struct6.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { CombinationData dt = DataPool[i] as CombinationData; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgConstData": MsgConstData struct7 = pbi as MsgConstData; DataPool = struct7.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { ConstData dt = DataPool[i] as ConstData; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgCurrency": MsgCurrency struct8 = pbi as MsgCurrency; DataPool = struct8.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { Currency dt = DataPool[i] as Currency; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgDungeon": MsgDungeon struct9 = pbi as MsgDungeon; DataPool = struct9.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { Dungeon dt = DataPool[i] as Dungeon; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgEnemyData": MsgEnemyData struct10 = pbi as MsgEnemyData; DataPool = struct10.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { EnemyData dt = DataPool[i] as EnemyData; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgEvaluateBonus": MsgEvaluateBonus struct11 = pbi as MsgEvaluateBonus; DataPool = struct11.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { EvaluateBonus dt = DataPool[i] as EvaluateBonus; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgFieldEffect": MsgFieldEffect struct12 = pbi as MsgFieldEffect; DataPool = struct12.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { FieldEffect dt = DataPool[i] as FieldEffect; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgHeroData": MsgHeroData struct13 = pbi as MsgHeroData; DataPool = struct13.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { HeroData dt = DataPool[i] as HeroData; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgHeroLvData": MsgHeroLvData struct14 = pbi as MsgHeroLvData; DataPool = struct14.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { HeroLvData dt = DataPool[i] as HeroLvData; DataStore.Add((int)dt.level, DataPool[i]); } break; case "MsgHeroEvolution": MsgHeroEvolution struct15 = pbi as MsgHeroEvolution; DataPool = struct15.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { HeroEvolution dt = DataPool[i] as HeroEvolution; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgPotentialData": MsgPotentialData struct16 = pbi as MsgPotentialData; DataPool = struct16.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { PotentialData dt = DataPool[i] as PotentialData; DataStore.Add((int)dt.element, DataPool[i]); } break; case "MsgItemData": MsgItemData struct17 = pbi as MsgItemData; DataPool = struct17.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { ItemData dt = DataPool[i] as ItemData; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgLeaderSkill": MsgLeaderSkill struct18 = pbi as MsgLeaderSkill; DataPool = struct18.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { LeaderSkill dt = DataPool[i] as LeaderSkill; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgMonsterData": MsgMonsterData struct19 = pbi as MsgMonsterData; DataPool = struct19.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { MonsterData dt = DataPool[i] as MonsterData; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgMonsterSkill": MsgMonsterSkill struct20 = pbi as MsgMonsterSkill; DataPool = struct20.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { MonsterSkill dt = DataPool[i] as MonsterSkill; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgNormalSkill": MsgNormalSkill struct21 = pbi as MsgNormalSkill; DataPool = struct21.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { NormalSkill dt = DataPool[i] as NormalSkill; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgNormalSkillLvUp": MsgNormalSkillLvUp struct22 = pbi as MsgNormalSkillLvUp; DataPool = struct22.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { NormalSkillLvUp dt = DataPool[i] as NormalSkillLvUp; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgRoleData": MsgRoleData struct23 = pbi as MsgRoleData; DataPool = struct23.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { RoleData dt = DataPool[i] as RoleData; DataStore.Add((int)dt.level, DataPool[i]); } break; case "MsgRuneData": MsgRuneData struct24 = pbi as MsgRuneData; DataPool = struct24.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { RuneData dt = DataPool[i] as RuneData; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgRuneSet": MsgRuneSet struct25 = pbi as MsgRuneSet; DataPool = struct25.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { RuneSet dt = DataPool[i] as RuneSet; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgRuneEnhance": MsgRuneEnhance struct26 = pbi as MsgRuneEnhance; DataPool = struct26.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { RuneEnhance dt = DataPool[i] as RuneEnhance; DataStore.Add((int)dt.level, DataPool[i]); } break; case "MsgRuneSynchro": MsgRuneSynchro struct27 = pbi as MsgRuneSynchro; DataPool = struct27.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { RuneSynchro dt = DataPool[i] as RuneSynchro; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgSpecialSkill": MsgSpecialSkill struct28 = pbi as MsgSpecialSkill; DataPool = struct28.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { SpecialSkill dt = DataPool[i] as SpecialSkill; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgSpecialSkillLvUp": MsgSpecialSkillLvUp struct29 = pbi as MsgSpecialSkillLvUp; DataPool = struct29.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { SpecialSkillLvUp dt = DataPool[i] as SpecialSkillLvUp; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgDecisionFactor": MsgDecisionFactor struct30 = pbi as MsgDecisionFactor; DataPool = struct30.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { DecisionFactor dt = DataPool[i] as DecisionFactor; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgTaskData": MsgTaskData struct31 = pbi as MsgTaskData; DataPool = struct31.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { TaskData dt = DataPool[i] as TaskData; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgHeroText": MsgHeroText struct32 = pbi as MsgHeroText; DataPool = struct32.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { HeroText dt = DataPool[i] as HeroText; Util.TextDic.Add(Util.GetConfigString(dt.name), Util.GetConfigString(dt.textDes)); } break; case "MsgDungeonText": MsgDungeonText struct33 = pbi as MsgDungeonText; DataPool = struct33.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { DungeonText dt = DataPool[i] as DungeonText; Util.TextDic.Add(Util.GetConfigString(dt.name), Util.GetConfigString(dt.textDes)); } break; case "MsgMonsterText": MsgMonsterText struct34 = pbi as MsgMonsterText; DataPool = struct34.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { MonsterText dt = DataPool[i] as MonsterText; Util.TextDic.Add(Util.GetConfigString(dt.name), Util.GetConfigString(dt.textDes)); } break; case "MsgFieldText": MsgFieldText struct35 = pbi as MsgFieldText; DataPool = struct35.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { FieldText dt = DataPool[i] as FieldText; Util.TextDic.Add(Util.GetConfigString(dt.name), Util.GetConfigString(dt.textDes)); } break; case "MsgCombinationText": MsgCombinationText struct36 = pbi as MsgCombinationText; DataPool = struct36.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { CombinationText dt = DataPool[i] as CombinationText; Util.TextDic.Add(Util.GetConfigString(dt.name), Util.GetConfigString(dt.textDes)); } break; case "MsgSkillText": MsgSkillText struct37 = pbi as MsgSkillText; DataPool = struct37.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { SkillText dt = DataPool[i] as SkillText; Util.TextDic.Add(Util.GetConfigString(dt.name), Util.GetConfigString(dt.textDes)); } break; case "MsgCurrencyText": MsgCurrencyText struct38 = pbi as MsgCurrencyText; DataPool = struct38.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { CurrencyText dt = DataPool[i] as CurrencyText; Util.TextDic.Add(Util.GetConfigString(dt.name), Util.GetConfigString(dt.textDes)); } break; case "MsgBuffText": MsgBuffText struct39 = pbi as MsgBuffText; DataPool = struct39.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { BuffText dt = DataPool[i] as BuffText; Util.TextDic.Add(Util.GetConfigString(dt.name), Util.GetConfigString(dt.textDes)); } break; case "MsgItemText": MsgItemText struct40 = pbi as MsgItemText; DataPool = struct40.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { ItemText dt = DataPool[i] as ItemText; Util.TextDic.Add(Util.GetConfigString(dt.name), Util.GetConfigString(dt.textDes)); } break; case "MsgRuneText": MsgRuneText struct41 = pbi as MsgRuneText; DataPool = struct41.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { RuneText dt = DataPool[i] as RuneText; Util.TextDic.Add(Util.GetConfigString(dt.name), Util.GetConfigString(dt.textDes)); } break; case "MsgTaskText": MsgTaskText struct42 = pbi as MsgTaskText; DataPool = struct42.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { TaskText dt = DataPool[i] as TaskText; Util.TextDic.Add(Util.GetConfigString(dt.name), Util.GetConfigString(dt.textDes)); } break; case "MsgWorldData": MsgWorldData struct43 = pbi as MsgWorldData; DataPool = struct43.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { WorldData dt = DataPool[i] as WorldData; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgAirRaidData": MsgAirRaidData struct44 = pbi as MsgAirRaidData; DataPool = struct44.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { AirRaidData dt = DataPool[i] as AirRaidData; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgTalentData": MsgTalentData struct45 = pbi as MsgTalentData; DataPool = struct45.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { TalentData dt = DataPool[i] as TalentData; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgSummonData": MsgSummonData struct46 = pbi as MsgSummonData; DataPool = struct46.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { SummonData dt = DataPool[i] as SummonData; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgSummonPrize": MsgSummonPrize struct47 = pbi as MsgSummonPrize; DataPool = struct47.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { SummonPrize dt = DataPool[i] as SummonPrize; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgStarWeight": MsgStarWeight struct48 = pbi as MsgStarWeight; DataPool = struct48.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { StarWeight dt = DataPool[i] as StarWeight; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgSpecialEffect": MsgSpecialEffect struct49 = pbi as MsgSpecialEffect; DataPool = struct49.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { SpecialEffect dt = DataPool[i] as SpecialEffect; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgFlyingEffect": MsgFlyingEffect struct50 = pbi as MsgFlyingEffect; DataPool = struct50.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { FlyingEffect dt = DataPool[i] as FlyingEffect; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgDistanceFactor": MsgDistanceFactor struct51 = pbi as MsgDistanceFactor; DataPool = struct51.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { DistanceFactor dt = DataPool[i] as DistanceFactor; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgEvaluateData": MsgEvaluateData struct52 = pbi as MsgEvaluateData; DataPool = struct52.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { EvaluateData dt = DataPool[i] as EvaluateData; DataStore.Add((int)dt.id, DataPool[i]); } break; case "MsgPromptText": MsgPromptText struct53 = pbi as MsgPromptText; DataPool = struct53.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { PromptText dt = DataPool[i] as PromptText; Util.TextDic.Add(Util.GetConfigString(dt.name), Util.GetConfigString(dt.textDes)); } break; case "MsgStoryText": MsgStoryText struct54 = pbi as MsgStoryText; DataPool = struct54.struct_data as List <Struct>; for (int i = 0; i < DataPool.Count; i++) { StoryText dt = DataPool[i] as StoryText; Util.TextDic.Add(Util.GetConfigString(dt.name), Util.GetConfigString(dt.textDes)); } break; } } }
static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths) { foreach (string str in importedAssets) { if (str.IndexOf("/sample.csv") != -1) { TextAsset data = AssetDatabase.LoadAssetAtPath <TextAsset>(str); string assetfile = str.Replace(".csv", ".asset"); CSVImportExample gm = AssetDatabase.LoadAssetAtPath <CSVImportExample>(assetfile); if (gm == null) { gm = new CSVImportExample(); AssetDatabase.CreateAsset(gm, assetfile); } gm.m_Sample = CSVSerializer.Deserialize <CSVImportExample.Sample>(data.text); EditorUtility.SetDirty(gm); AssetDatabase.SaveAssets(); #if DEBUG_LOG || UNITY_EDITOR Debug.Log("Reimported Asset: " + str); #endif } if (str.IndexOf("/f1ranking2018.csv") != -1) { TextAsset data = AssetDatabase.LoadAssetAtPath <TextAsset>(str); string assetfile = str.Replace(".csv", ".asset"); RankingData gm = AssetDatabase.LoadAssetAtPath <RankingData>(assetfile); if (gm == null) { gm = new RankingData(); AssetDatabase.CreateAsset(gm, assetfile); } gm.m_Items = CSVSerializer.Deserialize <RankingData.Item>(data.text); EditorUtility.SetDirty(gm); AssetDatabase.SaveAssets(); #if DEBUG_LOG || UNITY_EDITOR Debug.Log("Reimported Asset: " + str); #endif } if (str.IndexOf("/lan.csv") != -1) { TextAsset data = AssetDatabase.LoadAssetAtPath <TextAsset>(str); string assetfile = str.Replace(".csv", ".asset"); LanguageStringData gm = AssetDatabase.LoadAssetAtPath <LanguageStringData>(assetfile); if (gm == null) { gm = new LanguageStringData(); AssetDatabase.CreateAsset(gm, assetfile); } gm.m_Items = CSVSerializer.Deserialize <LanguageStringData.Item>(data.text); EditorUtility.SetDirty(gm); AssetDatabase.SaveAssets(); #if DEBUG_LOG || UNITY_EDITOR Debug.Log("Reimported Asset: " + str); #endif } if (str.IndexOf("/const.csv") != -1) { TextAsset data = AssetDatabase.LoadAssetAtPath <TextAsset>(str); string assetfile = str.Replace(".csv", ".asset"); ConstData gm = AssetDatabase.LoadAssetAtPath <ConstData>(assetfile); if (gm == null) { gm = new ConstData(); AssetDatabase.CreateAsset(gm, assetfile); } ConstData readdata = CSVSerializer.DeserializeIdValue <ConstData>(data.text); EditorUtility.CopySerialized(readdata, gm); EditorUtility.SetDirty(gm); AssetDatabase.SaveAssets(); #if DEBUG_LOG || UNITY_EDITOR Debug.Log("Reimported Asset: " + str); #endif } } }
private float[] subscriber_twelve = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f }; // チャンネル登録者数 // セーブ public void Save(ConstData constData) { ConstMethod data = new ConstMethod(); // セーブデータ代入 // 1年目 data.id_one = constData.Id_one; data.channelName_one = constData.ChannelName_one; data.subscriber_one = constData.Subscriber_one; // 2年目 data.id_two = constData.Id_two; data.channelName_two = constData.ChannelName_two; data.subscriber_two = constData.Subscriber_two; // 3年目 data.id_three = constData.Id_three; data.channelName_three = constData.ChannelName_three; data.subscriber_three = constData.Subscriber_three; // 4年目 data.id_four = constData.Id_four; data.channelName_four = constData.ChannelName_four; data.subscriber_four = constData.Subscriber_four; // 5年目 data.id_five = constData.Id_five; data.channelName_five = constData.ChannelName_five; data.subscriber_five = constData.Subscriber_five; // 6年目 data.id_six = constData.Id_six; data.channelName_six = constData.ChannelName_six; data.subscriber_six = constData.Subscriber_six; // 7年目 data.id_seven = constData.Id_seven; data.channelName_seven = constData.ChannelName_seven; data.subscriber_seven = constData.Subscriber_seven; // 8年目 data.id_eight = constData.Id_eight; data.channelName_eight = constData.ChannelName_eight; data.subscriber_eight = constData.Subscriber_eight; // 9年目 data.id_nine = constData.Id_nine; data.channelName_nine = constData.ChannelName_nine; data.subscriber_nine = constData.Subscriber_nine; // 10年目 data.id_ten = constData.Id_ten; data.channelName_ten = constData.ChannelName_ten; data.subscriber_ten = constData.Subscriber_ten; // 11年目 data.id_eleven = constData.Id_eleven; data.channelName_eleven = constData.ChannelName_eleven; data.subscriber_eleven = constData.Subscriber_eleven; // 12年目 data.id_twelve = constData.Id_twelve; data.channelName_twelve = constData.ChannelName_twelve; data.subscriber_twelve = constData.Subscriber_twelve; // jsonに書き出し StreamWriter writer; string jsonData = JsonUtility.ToJson(data); writer = new StreamWriter(Application.persistentDataPath + "/constdata.json", false); // trueで追記、falseで上書き writer.Write(jsonData); writer.Flush(); writer.Close(); }
/// <summary> /// 获取默认值字符串 /// </summary> public string GetDefaultValueString() { return ConstData.ConstOutput(this.DefaultValue); }
// ロード public ConstData Load() { ConstMethod data = new ConstMethod(); string readdata = ""; // jsonから読み込み StreamReader reader; reader = new StreamReader(Application.persistentDataPath + "/constdata.json"); readdata = reader.ReadToEnd(); reader.Close(); data = JsonUtility.FromJson <ConstMethod>(readdata); ConstData constData = new ConstData(); // ロードデータ代入 // 1年目 constData.Id_one = data.id_one; constData.ChannelName_one = data.channelName_one; constData.Subscriber_one = data.subscriber_one; // 2年目 constData.Id_two = data.id_two; constData.ChannelName_two = data.channelName_two; constData.Subscriber_two = data.subscriber_two; // 3年目 constData.Id_three = data.id_three; constData.ChannelName_three = data.channelName_three; constData.Subscriber_three = data.subscriber_three; // 4年目 constData.Id_four = data.id_four; constData.ChannelName_four = data.channelName_four; constData.Subscriber_four = data.subscriber_four; // 5年目 constData.Id_five = data.id_five; constData.ChannelName_five = data.channelName_five; constData.Subscriber_five = data.subscriber_five; // 6年目 constData.Id_six = data.id_six; constData.ChannelName_six = data.channelName_six; constData.Subscriber_six = data.subscriber_six; // 7年目 constData.Id_seven = data.id_seven; constData.ChannelName_seven = data.channelName_seven; constData.Subscriber_seven = data.subscriber_seven; // 8年目 constData.Id_eight = data.id_eight; constData.ChannelName_eight = data.channelName_eight; constData.Subscriber_eight = data.subscriber_eight; // 9年目 constData.Id_nine = data.id_nine; constData.ChannelName_nine = data.channelName_nine; constData.Subscriber_nine = data.subscriber_nine; // 10年目 constData.Id_ten = data.id_ten; constData.ChannelName_ten = data.channelName_ten; constData.Subscriber_ten = data.subscriber_ten; // 11年目 constData.Id_eleven = data.id_eleven; constData.ChannelName_eleven = data.channelName_eleven; constData.Subscriber_eleven = data.subscriber_eleven; // 12年目 constData.Id_twelve = data.id_twelve; constData.ChannelName_twelve = data.channelName_twelve; constData.Subscriber_twelve = data.subscriber_twelve; return(constData); }