Пример #1
0
        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);
            }
        }
Пример #2
0
    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));
        }
    }
Пример #3
0
    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;
    }
Пример #4
0
 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);
     }
 }
Пример #5
0
        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);
        }
Пример #6
0
        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());
        }
Пример #7
0
 internal WordData(T0Comp owner, string name,
                   ConstData blob, int offset)
     : base(owner, name)
 {
     this.blob   = blob;
     this.offset = offset;
     StackEffect = new SType(0, 1);
 }
Пример #8
0
        /// <summary>
        ///
        /// </summary>
        public override void Initialize()
        {
            LoadContent();

            Game.Reloading += (s, e) => LoadContent();

            constBuffer = new ConstantBuffer(device, typeof(ConstData));
            constData   = new ConstData();
        }
Пример #9
0
        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);
        }
Пример #10
0
		/// <summary>
		/// 
		/// </summary>
		public override void Initialize()
		{
			LoadContent();

			Game.Reloading	+= (s,e) => LoadContent();

			constBuffer	=	new ConstantBuffer( device, typeof(ConstData) );
			constData	=	new ConstData();
		}
Пример #11
0
        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);
        }
Пример #12
0
 private void Awake()
 {
     if (Instance != null)
     {
         Destroy(gameObject);
         return;
     }
     Instance = this;
     DontDestroyOnLoad(gameObject);
 }
Пример #13
0
 /// <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");
     }
 }
Пример #14
0
 /// <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("}");
 }
Пример #15
0
 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;
     }
 }
Пример #16
0
    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);
    }
Пример #17
0
		/// <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;
		}
Пример #18
0
        /// <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();
        }
Пример #19
0
        /// <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;
        }
Пример #20
0
    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);
    }
Пример #21
0
    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の消去
    }
Пример #22
0
        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());
        }
Пример #23
0
        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());
            }
        }
Пример #24
0
        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);
            }
        }
Пример #25
0
        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);
        }
Пример #26
0
    //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);
    }
Пример #27
0
    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);
    }
Пример #28
0
		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;
		}
Пример #29
0
        /// <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);
        }
Пример #30
0
        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
            }
        }
    }
Пример #32
0
        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();
        }
Пример #33
0
 /// <summary>
 /// 获取默认值字符串
 /// </summary>
 public string GetDefaultValueString() {
     return ConstData.ConstOutput(this.DefaultValue);
 }
Пример #34
0
        // ロード
        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);
        }