Exemplo n.º 1
0
        //---------------------------------------------------
        // CheckData
        //---------------------------------------------------
        public bool CheckData(Master.TYPE type)
        {
            SettingData securityObject = Resources.Load <SettingData>(SettingDataFilePath);

            if (type == TYPE.ACTION)
            {
                return(Common.CheckHash(securityObject.GetHashData(type), CreateActionDataHash(ActionData)));
            }
            else if (type == TYPE.BULLET)
            {
                return(Common.CheckHash(securityObject.GetHashData(type), CreateBulletDataHash(BulletData)));
            }
            else if (type == TYPE.CHARACTER)
            {
                return(Common.CheckHash(securityObject.GetHashData(type), CreateCharacterDataHash(CharacterData)));
            }
            else if (type == TYPE.EFFECT)
            {
                return(Common.CheckHash(securityObject.GetHashData(type), CreateEffectDataHash(EffectData)));
            }
            else if (type == TYPE.ITEM)
            {
                return(Common.CheckHash(securityObject.GetHashData(type), CreateItemDataHash(ItemData)));
            }
            else if (type == TYPE.STAGE)
            {
                return(Common.CheckHash(securityObject.GetHashData(type), CreateStageDataHash(StageData)));
            }
            else if (type == TYPE.SEED)
            {
                return(Common.CheckHash(securityObject.GetHashData(type), CreateSeedDataHash(SeedData)));
            }

            return(false);
        }
Exemplo n.º 2
0
        //---------------------------------------------------
        // Initialize
        //---------------------------------------------------
        override protected void Initialize()
        {
            DontDestroyOnLoad(gameObject);
            base.Initialize();

            SettingData data = Resources.Load <SettingData>(SettingDataFilePath);

            IsMasterMode = data.InternMaster;
        }
Exemplo n.º 3
0
        //---------------------------------------------------
        // CreateData
        //---------------------------------------------------
        static byte[] CreateData(SettingData securityObject, UnityEngine.Object asset)
        {
            securityObject = Resources.Load <SettingData>(SecurityFilePath);

            ActionData actionData = asset as ActionData;

            //アクションデータ
            if ((actionData) != null)
            {
                byte[] hash = Master.CreateActionDataHash(actionData);
                securityObject.AddHashData(new SettingData.HashDataList(Master.TYPE.ACTION, hash));

                return(hash);
            }

            BulletData bulletData = asset as BulletData;

            //弾データ
            if (bulletData != null)
            {
                byte[] hash = Master.CreateBulletDataHash(bulletData);
                securityObject.AddHashData(new SettingData.HashDataList(Master.TYPE.BULLET, hash));

                return(hash);
            }

            CharacterData characterData = asset as CharacterData;

            //キャラクターデータ
            if (characterData != null)
            {
                byte[] hash = Master.CreateCharacterDataHash(characterData);
                securityObject.AddHashData(new SettingData.HashDataList(Master.TYPE.CHARACTER, hash));

                return(hash);
            }

            EffectData effectData = asset as EffectData;

            //エフェクトデータ
            if (effectData != null)
            {
                byte[] hash = Master.CreateEffectDataHash(effectData);
                securityObject.AddHashData(new SettingData.HashDataList(Master.TYPE.EFFECT, hash));

                return(hash);
            }

            ItemData itemData = asset as ItemData;

            //アイテムデータ
            if (itemData != null)
            {
                byte[] hash = Master.CreateItemDataHash(itemData);
                securityObject.AddHashData(new SettingData.HashDataList(Master.TYPE.ITEM, hash));

                return(hash);
            }

            StageData stageData = asset as StageData;

            //ステージデータ
            if (stageData != null)
            {
                byte[] hash = Master.CreateStageDataHash(stageData);
                securityObject.AddHashData(new SettingData.HashDataList(Master.TYPE.STAGE, hash));

                return(hash);
            }

            SeedData seedData = asset as SeedData;

            if (seedData != null)
            {
                byte[] hash = Master.CreateSeedDataHash(seedData);
                securityObject.AddHashData(new SettingData.HashDataList(Master.TYPE.SEED, hash));

                return(hash);
            }

            return(null);
        }
Exemplo n.º 4
0
        //---------------------------------------------------
        // OnInspectorGUI
        //---------------------------------------------------
        public override void OnInspectorGUI()
        {
            SettingData settingData = target as SettingData;

            bool enable = EditorGUILayout.ToggleLeft("MasterMode", settingData.InternMaster);

            if (settingData.InternMaster != enable)
            {
                AssetDatabase.StartAssetEditing();

                settingData.InternMaster = enable;

                AssetDatabase.StopAssetEditing();
                EditorUtility.SetDirty(settingData);
                AssetDatabase.SaveAssets();;
            }

            //マスターのハッシュ値作成
            if (settingData.InternMaster && GUILayout.Button("Generate"))
            {
                AssetDatabase.StartAssetEditing();

                //settingData._hashList.Clear();

                string[] filePathArray = Directory.GetFiles(MasterFilePath, "*", SearchOption.AllDirectories);

                foreach (string filePath in filePathArray)
                {
                    UnityEngine.Object asset = AssetDatabase.LoadAssetAtPath <UnityEngine.Object>(filePath);

                    if (asset != null)
                    {
                        Debug.Log(asset.name);

                        CreateData(settingData, asset);
                    }
                }

                AssetDatabase.StopAssetEditing();
                EditorUtility.SetDirty(settingData);
                AssetDatabase.SaveAssets();
            }

            //シード値作成
            if (settingData.InternMaster && GUILayout.Button("Random Seed Generate"))
            {
                SeedData asset = AssetDatabase.LoadAssetAtPath <SeedData>(MasterFilePath + "SeedData.asset");

                if (asset != null)
                {
                    AssetDatabase.StartAssetEditing();

                    asset.GetList().Clear();

                    for (int i = 0; i < SeedListMax; i++)
                    {
                        SeedData.SeedDataList data = new SeedData.SeedDataList();
                        data.Seed = UnityEngine.Random.Range(0, SeedMax);

                        asset.GetList().Add(data);
                    }

                    AssetDatabase.StopAssetEditing();
                    EditorUtility.SetDirty(asset);
                    AssetDatabase.SaveAssets();
                }
            }
        }