private void Initialized()
    {
        stage      = new StageData();
        modelItems = new List <ModelStatus>();
        TextAsset modelAsset = Resources.Load("Json/ModelJson.json") as TextAsset;
        string    json       = modelAsset.text;

        stage = Load();

        if (stage == null)
        {
            return;
        }

        bedPrefab = Resources.Load("bed1") as GameObject;

        foreach (ModelItem e in stage.Models)
        {
            switch (e.category)
            {
            case (int)CATEGORY.BED:
                GameObject  obj  = Instantiate(bedPrefab, new Vector3(0, 0, 10), Quaternion.identity);
                ModelStatus item = obj.GetComponent <ModelStatus>();
                item.ID       = e.id;
                item.Name     = e.name;
                item.Path     = e.path;
                item.IsAnchor = true;
                obj.name      = item.Name;
                anchorStore.Load(e.path, obj);
                modelItems.Add(item);
                break;
            }
        }
    }
Beispiel #2
0
    /// <summary>
    /// InspectorのGUIを更新
    /// </summary>
    public override void OnInspectorGUI()
    {
        //元のInspector部分を表示
        base.OnInspectorGUI();

        //ボタンを表示
        if (GUILayout.Button("Update"))
        {
            StageDataList dataList = target as StageDataList;

            StageData data = Resources.Load <StageData>("Data/StageData");

            foreach (var stage in dataList.Stages)
            {
                if (data.Stages.ContainsKey(stage.Id))
                {
                    data.Stages[stage.Id] = stage;
                }
                else
                {
                    data.Stages.Add(stage.Id, stage);
                }
            }

            EditorUtility.SetDirty(data);
            AssetDatabase.SaveAssets();
        }
    }
 public SceneData(StageResult stageResult, StageData stageData, bool interAdsWasShown, bool needUnloadAtlasOnWin)
 {
     this.stageResult          = stageResult;
     this.stageData            = stageData;
     this.interAdsWasShown     = interAdsWasShown;
     this.needUnloadAtlasOnWin = needUnloadAtlasOnWin;
 }
Beispiel #4
0
 public virtual void ProcessKeys2()
 {
     if (KClass.Key_Z && LastZ == 0)
     {
         MenuItemList[MenuSelectIndex].Click();
         OnChangeMenu = TimeMain + 1;
     }
     if (!KClass.Key_X && !KClass.Key_ESC || LastX != 0)
     {
         return;
     }
     StageData.SoundPlay("se_cancel00.wav");
     if (StageData.Rep.CanRead)
     {
         ReplayInfo repInfo = StageData.GlobalData.LastState.StageData.RepInfo;
         repInfo.PlayerName = "autosave";
         StageData.Rep.SaveRpy(".\\Replay\\AutoSave.rpy", repInfo);
     }
     StageData.StateSwitchData = new StateSwitchDataPackage()
     {
         NextState = "MainMenu",
         NeedInit  = true,
         SDPswitch = new StageDataPackage(StageData.GlobalData)
     };
     StageData.Rep.CloseRpy();
 }
Beispiel #5
0
 // Use this for initialization
 void Start()
 {
     stgdt        = FindObjectOfType <DataController>().LoadData();
     text         = GameObject.FindGameObjectWithTag("TextController").GetComponent <Displaytext>();
     currentStage = 0;
     UpdateStage();
 }
Beispiel #6
0
 public HumanMacroData()
     : base()
 {
     //patches = new List<HumanMacroPatch>();
     macroStageData = new StageData(HITData.ResultType.Macro, job);
     stages.Add(macroStageData);
 }
Beispiel #7
0
 public void Init(StageData data)
 {
     this.stageData = data;
     this.level     = data.level;
     bossSpawn      = map.bossSpawn.GetComponent <BossSpawn> ();
     StartCoroutine(StartSpawningEnemies());
 }
Beispiel #8
0
        public void CreateData()
        {
            List <StageData> list1 = new List <StageData> ();
            List <StageData> list2 = new List <StageData> ();
            List <StageData> list3 = new List <StageData> ();

            for (int i = 0; i < 5; i++)
            {
                StageData data = new StageData(new StageDayrobberData(i, i.ToString()));
                list1.Add(data);
            }
            for (int i = 5; i >= 0; i--)
            {
                StageData data = new StageData(new StageDayrobberData(i, i.ToString()));
                list2.Add(data);
            }
            for (int i = 10; i >= 5; i--)
            {
                StageData data = new StageData(new StageDayrobberData(i, i.ToString()));
                list3.Add(data);
            }

            stageData.Add(ProgramEnum.StageMode.DayRobberStage, list1);
            stageData.Add(ProgramEnum.StageMode.NormalStage, list2);
            stageData.Add(ProgramEnum.StageMode.EliteStage, list3);
        }
Beispiel #9
0
 public PlatformModel(StageData data, float landPosition)
 {
     LandPosition = landPosition;
     Size         = data.PlatformSize;
     MinX         = data.PlatformPlaceMinX;
     MaxX         = data.PlatformPlaceMaxX;
 }
Beispiel #10
0
	//アイドルの数のラベルをセットする
	public void SetIdolCountLabel (StageData stageData) {
		if (stageData.IdolCount >= 25) {
			mIdolStageStatusManager.IdolCountLabel = "MAX";
		} else {
			mIdolStageStatusManager.IdolCountLabel = "×" + stageData.IdolCount;
		}
	}
Beispiel #11
0
    protected override bool ExistIn(StageData data)
    {
        //厳密にはこれではだめだがまあ……
        var nums  = new Dictionary <NodeType, int>();
        var nodes = data.ToNodesList();

        foreach (var nts in nodes)
        {
            foreach (NodeType nt in nts)
            {
                if (nt == NodeType.None)
                {
                    continue;
                }
                nums[nt] = nums.ContainsKey(nt) ? nums[nt] + 1 : 1;
            }
        }
        foreach (var num in nums.Values)
        {
            //本質(ノードの個数が色によって違えばtrue)
            if (num != nums[nums.Keys.First()])
            {
                return(true);
            }
        }
        return(false);
    }
Beispiel #12
0
        public static void CreateStageData(StageData stageData, bool force = false)
        {
            //Debug.Log("Create " + stageData.zone.zoneName);
            PlayerData playerProfile = PlayerSave.GetPlayerData();

            if (force)
            {
                byte[]          key        = Convert.FromBase64String(Crypto.cryptoKey);
                BinaryFormatter binFormat  = new BinaryFormatter();
                FileStream      fileStream = new FileStream(Application.persistentDataPath + "/" + EasyMD5.Hash(playerProfile.playerName + stageData.zone.zoneName) + ".bin", FileMode.Create);

                using (CryptoStream cryptoStream = Crypto.CreateEncryptionStream(key, fileStream))
                {
                    binFormat.Serialize(cryptoStream, stageData);
                }
            }
            else
            {
                if (!File.Exists(Application.persistentDataPath + "/" + EasyMD5.Hash(playerProfile.playerName + stageData.zone.zoneName) + ".bin"))
                {
                    byte[]          key        = Convert.FromBase64String(Crypto.cryptoKey);
                    BinaryFormatter binFormat  = new BinaryFormatter();
                    FileStream      fileStream = new FileStream(Application.persistentDataPath + "/" + EasyMD5.Hash(playerProfile.playerName + stageData.zone.zoneName) + ".bin", FileMode.Create);

                    using (CryptoStream cryptoStream = Crypto.CreateEncryptionStream(key, fileStream))
                    {
                        binFormat.Serialize(cryptoStream, stageData);
                    }
                }
            }
        }
Beispiel #13
0
    void CanSelect()
    {
        StageData stageData = storyData.GetStageDataByID(curStage);


        if (stageData.Select > 0)
        {
            canPause = false;
            //Debug.Log("can select" + curStage);
            SelectData selectData = storyData.GetSelectDataByID(stageData.Select);
            stage.SetSelect(selectData);
            //stage.ActAside(true);
            if (waitSelect != null)
            {
                StopCoroutine(waitSelect);
                waitSelect = null;
            }
            waitSelect = WaitSelect(selectData);
            StartCoroutine(waitSelect);
        }
        if (stageData.Select == 0)
        {
            canPause   = false;
            canShowMap = false;
            StartCoroutine(WaitPhone());
        }
    }
Beispiel #14
0
    /// <summary>
    /// ステージを生成
    /// </summary>
    /// <param name="stageID"></param>
    public void LoadStage(string stageID, UnityAction callback)
    {
        StageData find = null;

        ReadAsset(stageID, () =>
        {
            find = stageScriptable.stageData;
            if (find != null)
            {
                //ステージ生成
                SceneControllManager.Instance.loadStageID = "";

                var obj        = Instantiate(find.prefab) as GameObject;
                instancedStage = obj.GetComponent <StageManager>();
                instancedStage.Initialize();
                Debug.Log("ステージ生成成功 : " + stageID);
            }
            else
            {
                Debug.LogError("ステージがありません : " + stageID);
            }
            if (callback != null)
            {
                callback();
            }
        });
    }
Beispiel #15
0
    public void Add(StageData stage)
    {
        _Stages = _Stages.Append(stage).ToArray();
#if UNITY_EDITOR
        EditorUtility.SetDirty(this);
#endif
    }
Beispiel #16
0
    public static void GenerateStageData()
    {
        var findAsset = UnityEditor.AssetDatabase.LoadAssetAtPath <StageData>(assetPath);

        if (findAsset != null)
        {
            // edit values
            init(ref findAsset);
            EditorUtility.SetDirty(findAsset);
            AssetDatabase.SaveAssets();
            Debug.Log(string.Format("Stage data in {0} is saved successfully.", assetPath));
        }
        else
        {
            // create new values
            StageData asset = ScriptableObject.CreateInstance <StageData>();
            AssetDatabase.CreateAsset(asset, assetPath);
            asset.surfaceList = new List <Surface>();
            asset.latitude    = 44.4963904f;
            asset.longitude   = 7.5847333f;
            asset.north       = 78.0f;
            init(ref asset);

            EditorUtility.SetDirty(asset);
            AssetDatabase.SaveAssets();
            Debug.Log(string.Format("Stage data in {0} is created successfully.", assetPath));
        }
    }
Beispiel #17
0
    private void InitData()
    {
        stageDatas = new List <StageData>();

        // 规则3配置
        StageData stage1 = new StageData();

        stage1.monsId    = new int[] { 0, 0, 0, 0, 0, 0 };
        stage1.monsNum   = new int[] { 1, 2, 3 };
        stage1.cond      = new int[] { 0, 1, 1 };
        stage1.condParm  = new int[] { 2, 0, 0 };
        stage1.condState = new bool[stage1.cond.Length];
        stageDatas.Add(stage1);

        StageData stage2 = new StageData();

        stage2.monsId    = new int[] { 1, 1, 1, 1, 1, 1, 1 };
        stage2.monsNum   = new int[] { 2, 2, 3 };
        stage2.cond      = new int[] { 0, 1, 1 };
        stage2.condParm  = new int[] { 2, 0, 0 };
        stage2.condState = new bool[stage2.cond.Length];
        stageDatas.Add(stage2);

        StageData stage3 = new StageData();

        stage3.monsId    = new int[] { 0, 2, 0 };
        stage3.monsNum   = new int[] { 1, 1, 1 };
        stage3.cond      = new int[] { 0, 2, 0 };
        stage3.condParm  = new int[] { 2, 2, 0 };
        stage3.condState = new bool[stage3.cond.Length];
        stageDatas.Add(stage3);
    }
Beispiel #18
0
    public void AddToFirst(StageData stage)
    {
        _Stages = new StageData[] { stage }.Concat(_Stages).ToArray();
#if UNITY_EDITOR
        EditorUtility.SetDirty(this);
#endif
    }
    /// <summary>
    /// StageRunnerに値を代入
    /// </summary>
    private void StageDataCreator()
    {
        _stageEvents.Sort((a, b) => (int)(a.Time - b.Time));//時間でソート

        _stageData = new StageData(_stageEvents, _controlPoints);
        StageRunner.Instance.SetStageData(_stageData);
    }
Beispiel #20
0
        public static StageData GetStageData(string zoneName)
        {
            PlayerData playerProfile = PlayerSave.GetPlayerData();

            if (File.Exists(Application.persistentDataPath + "/" + EasyMD5.Hash(playerProfile.playerName + zoneName) + ".bin"))
            {
                try
                {
                    byte[]          key        = Convert.FromBase64String(Crypto.cryptoKey);
                    BinaryFormatter binFormat  = new BinaryFormatter();
                    FileStream      fileStream = new FileStream(Application.persistentDataPath + "/" + EasyMD5.Hash(playerProfile.playerName + zoneName) + ".bin", FileMode.Open);

                    using (CryptoStream cryptoStream = Crypto.CreateDecryptionStream(key, fileStream))
                    {
                        return((StageData)binFormat.Deserialize(cryptoStream));
                    }
                }
                catch
                {
                    Debug.Log("You trying to change data!");
                    StageManager stManager = Resources.Load("Scriptable/Stage/Stage Manager") as StageManager;
                    foreach (Stage stage in stManager.listStages)
                    {
                        StageData stageData = new StageData(stage.zone, stage.levels);
                        StageSave.CreateStageData(stageData, true);
                    }

                    return(GetStageData(zoneName));
                }
            }

            return(null);
        }
    public override void Refresh()
    {
        var _params = GetParams();

        if (_params.Length >= 1)
        {
            StageData = (StageData)_params[0];
        }

        Utility.DestroyAllChildren(ItemRoot);

        StageName.text = StageData.Name;

        var dataReader = SqliteManager.Instance.SelectParam("task", "stageid", StageData.Id.ToString());

        var dataList = DataBase.GetDataList <TaskData>(dataReader, "id", "content", "des", "todocount");

        foreach (var taskData in dataList)
        {
            var copyItem = AssetManager.CreatePrefab("TaskItem", ItemRoot);

            var item = copyItem.GetComponent <TaskItem>();
            if (item != null)
            {
                item.SetData(taskData);
            }
        }
    }
    // 更新
    public override void Update()
    {
        if (m_StageData.Count == 0)
        {
            return;
        }

        // 是否可以产生
        m_CoolDown -= Time.deltaTime;
        if (m_CoolDown > 0)
        {
            return;
        }
        m_CoolDown = m_MaxCoolDown;

        // 取得上场的角色
        StageData theNewEnemy = GetEnemy();

        if (theNewEnemy == null)
        {
            return;
        }

        // 一次产生一个单位
        ICharacterFactory Factory = PBDFactory.GetCharacterFactory();

        Factory.CreateEnemy(theNewEnemy.emEnemy, theNewEnemy.emWeapon, m_SpawnPosition, m_AttackPosition);
    }
Beispiel #23
0
    private void OnStageClicked()
    {
        m_lastClickStageTime = Timer.GetRealTimeSinceStartUp();     //更新关卡点击时间
        SetStageHelp(false);

        if (GlobalVars.UseSFX)
        {
            NGUITools.PlaySound(CapsConfig.CurAudioList.ButtonClip);
        }

        string stageNum = UIButton.current.name.Substring(5);

        GlobalVars.CurStageNum  = System.Convert.ToInt32(stageNum);
        GlobalVars.CurStageData = StageData.CreateStageData();
        GlobalVars.LastStage    = GlobalVars.CurStageNum;

        if (GlobalVars.HeartCount == 0)         //若没有心了
        {
            UIWindowManager.Singleton.GetUIWindow <UINoMoreHearts>().NeedOpenStageInfoAfterClose = true;
            UIWindowManager.Singleton.GetUIWindow <UINoMoreHearts>().ShowWindow();
            return;
        }

        GlobalVars.CurStageData.LoadStageData(GlobalVars.CurStageNum);
        UIWindowManager.Singleton.GetUIWindow <UIStageInfo>().ShowWindow();
    }
Beispiel #24
0
    public void CreatePalette(StageData inStageData)
    {
        DestroyAllPaletteButtons();

        var colorUintArray = inStageData.CreateColorUintArray();
        var paletteIndex   = 0;

        paletteButtonList.Clear();
        foreach (var colorUint in colorUintArray)
        {
            if ((colorUint & 0x00ffffff) == 0x00ffffff)
            {
                Debug.LogError("CRITICAL ERROR: Palette color cannot be WHITE!!!");
            }
            var paletteButton = Instantiate(paletteButtonPrefab, transform).GetComponent <PaletteButton>();
            paletteButton.SetColor(colorUint);
            paletteIndexbyColor[colorUint] = paletteIndex;
            paletteButton.ColorIndex       = paletteIndex + 1;
            paletteIndex++;
            paletteButtonList.Add(paletteButton);
        }

        // 첫 번째 팔레트 기본 선택 상태
        if (paletteButtonList.Count > 0)
        {
            paletteButtonList[0].Check = true;
        }

        stageData = inStageData;
    }
Beispiel #25
0
    public int hp = 3;        //关卡生命值.


    public static StageData LoadStage(int stage, int editDimension = 0)
    {
        //这里做一个防止关卡越界的处理
        if (stage < 1)
        {
            stage = 1;
            Debug.LogError("关卡数小于1");
        }
        TextAsset asset   = Resources.Load <TextAsset>("");
        string    content = null;

        if (asset != null)
        {
            content = asset.text;
        }
        StageData data = JsonUtility.FromJson <StageData>(content);

        //做一些额外的初始化以及生成一些运行时数据.
        if (data == null)
        {
            Debug.LogError("Not found StageData:" + stage);
            return(null);
        }
        data.stageNum = stage;
        return(data);
    }
Beispiel #26
0
    void UpdateNext()
    {
        StageData stageData = storyData.GetStageDataByID(curStage);

        //Debug.Log(stageData.ID.ToString() +" end");
        //Debug.Log("last:"+lastStage);
        if (stageData.Select > 0)
        {
            //SelectData selectData = storyData.GetSelectDataByID(stageData.Select);
            //stage.SetSelect(selectData);
            //stage.ActAside(true);
            //StartCoroutine(WaitSelect(selectData));
            lastStage = curStage;
            curStage  = storyData.GetDefNextByID(stageData.ID); //stageData.defNext;

            if (waitSelect != null)
            {
                StopCoroutine(waitSelect);
            }
            waitSelect = null;
            UpdataStage(storyData.GetStageDataByID(curStage));
        }
        else if (stageData.Select < 0)
        {
            lastStage = curStage;
            curStage  = -stageData.Select;
            UpdataStage(storyData.GetStageDataByID(curStage));
        }
        else if (stageData.Select == 0)
        {
            //StartCoroutine(WaitPhone());
        }
    }
Beispiel #27
0
    // Remove player & grid
    private void RemoveItems(StageData stage, int tileIndex)
    {
        // Remove player
        int playerIndex = HasPlayer(stage, tileIndex);

        if (playerIndex != -1)
        {
            PlayerData player = stage.players[playerIndex];
            player.tileIndex = -1;
        }

        // Remove prop
        int propIndex = HasProp(stage, tileIndex);

        if (propIndex != -1)
        {
            List <PropData> props = new List <PropData>();
            if (stage.props != null)
            {
                props.AddRange(stage.props);
            }
            props.RemoveAt(propIndex);
            stage.props = props.ToArray();
        }
    }
Beispiel #28
0
    IEnumerator  WaitPhone()//判断电话输入,
    {
        while (true)
        {
            if (!stage.inputField.IsActive())
            {
                stage.ActInputF(true);
            }

            if (stage.strPhoneNum.Length == 5)
            {
                yield return(new WaitForSeconds(0.5f));

                StageData stageData = storyData.GetStageDataByPhone(stage.strPhoneNum, lastStage);
                if (stageData == null)
                {
                    stage.ActInputF(true);
                    stage.ErrorPhone();
                    //Debug.Log("error phone");
                }
                else
                {
                    lastStage = curStage;
                    curStage  = stageData.ID;

                    stage.onMaskEnd = Select;
                    stage.SelectMask();
                    yield break;
                }
            }

            yield return(null);
        }
    }
Beispiel #29
0
    private void OnStageDataRefreshed()
    {
        if (mStageT != null)
        {
            //-----次数刷新--------
            if (mStageT.m_limittime < 0)
            {
                SetRapidObjActive(false);
            }
            else
            {
                SetRapidObjActive(true);
                StageData sd          = ObjectSelf.GetInstance().BattleStageData.GetStageDataByStageId(mStageT.GetID());
                int       remineTimes = Mathf.Max(0, mStageT.m_limittime - sd.m_FightSum);

                TEXT_COLOR tc = TEXT_COLOR.WHITE;
                if (remineTimes > 0)
                {
                    tc = TEXT_COLOR.WHITE;
                    m_ResetBtn.gameObject.SetActive(false);
                }
                else
                {
                    m_ResetBtn.gameObject.SetActive(true);
                    tc = TEXT_COLOR.RED;
                }
                m_RemindTimeTxt.text = GameUtils.getString("fight_fightprepare_content3") + GameUtils.StringWithColor(remineTimes.ToString(), tc) + "/" + mStageT.m_limittime;
            }
        }
    }
Beispiel #30
0
    void FixedUpdate()
    {
        if (isMoveNextPoint || !isPlaying)
        {
            return;
        }

        if (isWaitEnterNextStage)
        {
            if (monsList.Count <= 0)
            {
                GoToNextStage();
            }
            return;
        }
        if (curStage < stageDatas.Count)
        {
            StageData stage = stageDatas[curStage + stageNum % MAX_STAGE_NUM * MAX_LV_NUM];

            if (stage.cond[curLv] == 2 && monsList.Count <= 0)
            {
                // 立马创建BOSS
                CreateCurLevelMons(stage);
                //monsList[i].transform.position = scene.FindChild("BossPos").position;
                isBossLv = true;
                ResetCreateTime();
                isWaitEnterNextStage = true;
            }
        }
    }
 public override void ProcessKeys()
 {
     base.ProcessKeys();
     if (KClass.Key_Z && LastZ == 0)
     {
         MenuItemList[MenuSelectIndex].Click();
         OnChangeMenu = TimeMain + 1;
     }
     if (!KClass.Key_X && !KClass.Key_ESC || LastX != 0)
     {
         return;
     }
     OnRemoveMenu        = TimeMain + 20;
     TransparentVelocity = -15f;
     foreach (BaseMenuItem menuItem in MenuItemList)
     {
         BaseMenuItem baseMenuItem     = menuItem;
         PointF       originalPosition = MenuItemList[0].OriginalPosition;
         double       x = originalPosition.X;
         originalPosition = MenuItemList[0].OriginalPosition;
         double y      = originalPosition.Y;
         PointF pointF = new PointF((float)x, (float)y);
         baseMenuItem.DestPoint = pointF;
         menuItem.OnRemove      = true;
     }
     StageData.SoundPlay("se_cancel00.wav");
 }
	//中断時の建設完了までの秒数を返す
	private static double ToFinishConstructionTimeSec (StageData stageData) {
		double toFinishConstructionTimeSec = ToFinishConstructionTimeMin (stageData) * 60;
		DateTime dtUpdateDate = DateTime.Parse (stageData.UpdatedDate);
		DateTime dtExit = DateTime.Parse (PlayerDataKeeper.instance.ExitDate);
		TimeSpan ts = dtExit - dtUpdateDate;
		return toFinishConstructionTimeSec - ts.TotalSeconds;
	}
Beispiel #33
0
    private void SetSaveData(int star, int stageNumber)
    {
        if (star == 0)
        {
            return;
        }

        List <StageData> clearStageDataList = SaveData.GetClassList(SaveDataKey.clearStageDataList, SaveDataDefaultValue.clearStageDataList);

        if (stageNumber > clearStageDataList.Count)
        {
            //初めてクリア
            clearStageDataList.Add(new StageData(stageNumber, star));
        }
        else
        {
            //以前にクリアしたことあるのでスコアが高ければ保存
            StageData stageData = clearStageDataList[stageNumber - 1];
            if (star > stageData.evaluation)
            {
                clearStageDataList[stageNumber - 1].evaluation = star;
            }
        }
        SaveData.SetClassList(SaveDataKey.clearStageDataList, clearStageDataList);
        SaveData.Save();
    }
	//中断時のサボるまでの秒数を返す
	private static double UntilSleepTimeSecWhenPause (StageData stageData) {
		//ステージごとのサボるまでの秒数
		double untilSleepTimeSec = UntilSleepTimeMin (stageData) * 60;
		DateTime dtUpdateDate = DateTime.Parse (stageData.UpdatedDate);
		DateTime dtExit = DateTime.Parse (PlayerDataKeeper.instance.ExitDate);
		TimeSpan ts = dtExit - dtUpdateDate;
		return untilSleepTimeSec - ts.TotalSeconds;
	}
Beispiel #35
0
 public void Termination()
 {
     _StandBys.Clear();
     if (_Current != null && _Current.Stage != null)
     {
         _Current.Stage.Leave();
         _Current = null;
     }
 }
Beispiel #36
0
    /*
     * This class handles player input, such as pressing the pause button to pause playback, pressing the reset button to reset the level, etc.
     * It is attached to the Camera prefab.
     */
    // Use this for initialization
    void Start()
    {
        sd = GameObject.FindObjectOfType<StageData> ();
        float stageWidth = sd.getStageWidth();
        float stageHeight = sd.getStageHeight();

        minX = (gameObject.GetComponent<Transform> () as Transform).position.x - (stageWidth / 2);
        minY = (gameObject.GetComponent<Transform> () as Transform).position.y - (stageHeight / 2);
        maxX = minX + stageWidth;
        maxY = minY + stageHeight;
    }
	public void InitData() {
		TextAsset csvTxt = Resources.Load<TextAsset>("Data/stage_table");
		List<Dictionary<string, string>> datas = CSVReader.ReadFile(csvTxt);
		foreach (Dictionary<string, string> data in datas)
		{
			StageData stageData = new StageData();
			stageData.gameTime = float.Parse(data["game_time"]);
			stageData.passRequestCount = int.Parse(data["pass_request"]);
			dataDic.Add(data["stage"], stageData);
		}
	}
Beispiel #38
0
        internal ShortnData()
            : base()
        {
            findStageData = new StageData(ResultType.Find, numParagraphs, job);
            stages.Add(findStageData);
            fixStageData = new StageData(ResultType.Fix, numParagraphs, job);
            stages.Add(fixStageData);
            verifyStageData = new StageData(ResultType.Verify, numParagraphs, job);
            stages.Add(verifyStageData);

            patches = new List<ShortnPatch>();
            gottenOneYet = new Dictionary<ResultType, List<List<bool>>>();
        }
Beispiel #39
0
    // Use this for initialization
    void Start()
    {
        active = false;

        image = GetComponent<Image> ();
        rTrans = GetComponent<RectTransform> ();
        image.canvasRenderer.SetAlpha (0);

        secOnScreen = 1.5f;
        riseSpeed = 3f;

        stageData = GameObject.FindObjectOfType<StageData> ();
    }
	public void Init (StageData stage) {
		mStageData = stage;
		mSkipConstructionButtonObject = transform.Find ("Container/SkipConstructionButton").gameObject;
		mContainerObject = transform.FindChild ("Container").gameObject;
		sleepObject = transform.Find ("Container/Sleep").gameObject;
		backGroundTexture = GetComponentInChildren<UITexture> ();
		//工事中かをチェック
		if (mStageData.FlagConstruction == StageData.IN_CONSTRUCTION) {
			InitConstruction ();
		} else {
			InitNormal ();
		}
	}
Beispiel #41
0
	//レコード1行アップデート
	public void UpdateRecord (StageData stage) {
		SQLiteDB sqliteDB = OpenDatabase ();
		StringBuilder sb = new StringBuilder ();
		sb.Append ("update " + TABLE_NAME + " set ");
		sb.Append (FIELD_IDLE_COUNT + " = " + stage.IdolCount + ", ");
		sb.Append (FIELD_FLAG_CONSTRUCTION + " = " + stage.FlagConstruction + ", ");
		sb.Append (FIELD_UPDATED_DATE + " = '" + stage.UpdatedDate + "' ");
		sb.Append ("where " + FIELD_ID + " = " + stage.Id + ";");
		MyLog.LogDebug ("sql " + sb.ToString ());
		SQLiteQuery sqliteQuery = new SQLiteQuery (sqliteDB, sb.ToString ());
		sqliteQuery.Step ();
		sqliteQuery.Release ();
		sqliteDB.Close ();
	}
Beispiel #42
0
	//IDでステージデータを取得
	public StageData SelectById (int id) {
		SQLiteDB sqliteDB = OpenDatabase ();
		StageData stage = new StageData ();
		StringBuilder sb = new StringBuilder ();
		sb.Append ("select * from " + TABLE_NAME + " ");
		sb.Append ("where " + FIELD_ID + " = " + id + ";");
		SQLiteQuery sqliteQuery = new SQLiteQuery (sqliteDB, sb.ToString ());
		while (sqliteQuery.Step ()) {
			stage = GetStage (sqliteQuery);
		}
		sqliteQuery.Release ();
		sqliteDB.Close ();
		return stage;
	}
Beispiel #43
0
	//レコードをインサート
	public void InsertData (StageData stageData) {
		SQLiteDB sqliteDB = OpenDatabase ();
		StringBuilder sb = new StringBuilder ();
		sb.Append ("insert into " + TABLE_NAME + " values");
		sb.Append ("(" + stageData.Id + ", ");
		sb.Append ("'" + stageData.AreaName + "', ");
		sb.Append (stageData.IdolCount + ", ");
		sb.Append (stageData.FlagConstruction + ", ");
		sb.Append ("'" + stageData.UpdatedDate + "', ");
		sb.Append (stageData.AreaId + ");");
		SQLiteQuery sqliteQuery = new SQLiteQuery (sqliteDB, sb.ToString ());
		sqliteQuery.Step ();
		sqliteQuery.Release ();
		sqliteDB.Close ();
	}
    // Use this for initialization
    void Start()
    {
        GameObject camera = GameObject.Find ("Camera");

        stageData = GameObject.FindObjectOfType<StageData> ();

        minX = -stageData.getStageWidth () / 2;
        maxX = minX + stageData.getStageWidth ();
        minY = -stageData.getStageHeight () / 2;
        maxY = minY + stageData.getStageHeight ();

        t = GetComponent<Transform>();
        origin = new Vector3 (t.position.x, t.position.y, t.position.z);
        staff = GameObject.Find ("staff").GetComponent<StaffBehavior> ();
    }
Beispiel #45
0
	void Awake () {
		StageDao dao = DaoFactory.CreateStageDao ();
		for (int i = 1; i <= 48; i++) {
			StageData stage = new StageData ();
			stage.Id = i;
			stage.IdolCount = 25;
			stage.FlagConstruction = StageData.NOT_CONSTRUCTION;
			stage.UpdatedDate = System.DateTime.Now.ToString ();
			dao.UpdateRecord (stage);
		}

		if (GameObject.FindGameObjectWithTag ("SoundManager") == null) {
			Instantiate (soundManagerPrefab);
			Instantiate (characterVoiceManagerPrefab);
		}
	}
Beispiel #46
0
	public void Init (StageData stageData) {
		mStageData = stageData;
		mIdolStageContainer = GetComponentInChildren<IdolStageContainer> ();
		mIdolStageCoinGenerator = GetComponentInChildren<IdolStageCoinGenerator> ();
		mCharacterGenerator = GetComponentInChildren<CharacterGenerator> ();
		mIdolStageContainer.FindObjects ();

		//工事中でなかったら通常状態へ
		if (mStageData.FlagConstruction == StageData.NOT_CONSTRUCTION) {
			mTimeSeconds = (float)RemainingSleepTimeSec ();
			InitNormal ();
			return;
		}
		//建設完了までの秒数
		double remainingConstructionTimeSec = RemainingConstructionTimeSec ();

		//まだ建設が完了していない場合
		if (remainingConstructionTimeSec > 0) {
			mTimeSeconds = (float)remainingConstructionTimeSec;
			InitConstruction ();
			return;
		}

		//建設完了を貫通した時間
		double overTimeSec = -remainingConstructionTimeSec;

		//建設完了を貫通した時間がサボるまでの時間を超えている場合
		UntilSleepTimeDao untilSleepTimeDao = DaoFactory.CreateUntilSleepTimeDao ();
		int untilSleepTimeSec = untilSleepTimeDao.SelectById (mStageData.Id, mStageData.IdolCount) * 60;
		if (overTimeSec > untilSleepTimeSec) {
			mStageData.FlagConstruction = StageData.NOT_CONSTRUCTION;
			DaoFactory.CreateStageDao ().UpdateRecord (mStageData);
			InitNormal ();
			Sleep ();
			return;
		}

		//建設は完了しているがサボるまでは至っていない場合
		mTimeSeconds = (float)(untilSleepTimeSec - overTimeSec);
		mStageData.FlagConstruction = StageData.NOT_CONSTRUCTION;
		DaoFactory.CreateStageDao ().UpdateRecord (mStageData);
		InitNormal ();
	}
Beispiel #47
0
    void Awake()
    {
        if (instance == null)
        {
            instance = this;
            DontDestroyOnLoad(gameObject);

            playerData = Resources.Load("Data/PlayerData")as PlayerData;
            monsterData = Resources.Load("Data/MonsterData")as MonsterData;
            stageData = Resources.Load("Data/StageData")as StageData;
            equipmentData = Resources.Load("Data/EquipmentData")as EquipmentData;
            weaponData = Resources.Load("Data/WeaponData")as WeaponData;

        }
        else
        {
            Destroy(gameObject);
        }
    }
Beispiel #48
0
        private int _shortestLength = -1; // for caching

        #endregion Fields

        #region Constructors

        /// <summary>
        /// A subclass of HITData that is the Model for a specific Shortn job
        /// </summary>
        /// <param name="toShorten">The Range object selected for this task</param>
        /// <param name="job">The unique job number for this task</param>
        public ShortnData(Word.Range toShorten, int job)
            : base(toShorten, job)
        {
            findStageData = new StageData(ResultType.Find, numParagraphs, job);
            stages.Add(findStageData);
            fixStageData = new StageData(ResultType.Fix, numParagraphs, job);
            stages.Add(fixStageData);
            verifyStageData = new StageData(ResultType.Verify, numParagraphs, job);
            stages.Add(verifyStageData);

            /*
            typeMap = new Dictionary<string,ResultType>();
            typeMap["find"] = ResultType.Find;
            typeMap["fix"] = ResultType.Fix;
            typeMap["verify"] = ResultType.Verify;
            */

            patches = new List<ShortnPatch>();
            gottenOneYet = new Dictionary<ResultType, List<List<bool>>>();
        }
Beispiel #49
0
        public CrowdproofData()
            : base()
        {
            findStageData = new StageData(ResultType.Find, numParagraphs, job);
            stages.Add(findStageData);
            fixStageData = new StageData(ResultType.Fix, numParagraphs, job);
            stages.Add(fixStageData);
            verifyStageData = new StageData(ResultType.Verify, numParagraphs, job);
            stages.Add(verifyStageData);

            /*
            stages[ResultType.Find] = new StageData(ResultType.Find, numParagraphs);
            stages[ResultType.Fix] = new StageData(ResultType.Fix, numParagraphs);
            stages[ResultType.Verify] = new StageData(ResultType.Verify, numParagraphs);
            */
            patches = new List<CrowdproofPatch>();
            /*
            typeMap = new Dictionary<string, ResultType>();
            typeMap["find"] = ResultType.Find;
            typeMap["fix"] = ResultType.Fix;
            typeMap["verify"] = ResultType.Verify;
             */
        }
Beispiel #50
0
        //public HumanMacroData(Word.Range text, List<String> results)
        public HumanMacroData(Word.Range toShorten, int job, Separator separator, double reward, int redundancy, string title, string subtitle, string instructions, ReturnType type, TestOrReal test)
            : base(toShorten, job)
        {
            this.text = toShorten;
            this.separator = separator;
            //this.results = results;
            //patches = new List<HumanMacroPatch>();

            this.reward = reward;
            this.redundancy = redundancy;
            this.title = title;
            this.subtitle = subtitle;
            this.instructions = instructions;
            this.type = type;
            this.numberReturned = 0;
            this.test = test;

            //stages[HITData.ResultType.Macro] = new StageData(HITData.ResultType.Macro);
            macroStageData = new StageData(HITData.ResultType.Macro, job);
            stages.Add(macroStageData);
            //stages[HITData.ResultType.Macro] = new HumanMacroStage(HITData.ResultType.Macro, redundancy);

            results = new List<string>();
        }
	//建設中の状態で中断した時に稼いだ金額を計算して返す
	private static double GeneratedCoinInConstruction (double toFinishConstructionTimeSec, StageData stageData, double sleepTimeSec) {
		Debug.Log ("建設までの時間は" + toFinishConstructionTimeSec);
		double generatedCoin = 0;
		//稼ぐ力
		double generateCoinPowerSec = (GenerateCoinPowerMin (stageData)) / 60;
		while (true) {
			if (sleepTimeSec <= 0) {
				break;
			}
			//スリープした時間が建設までの時間を上回った時点から加算を開始する
			if (toFinishConstructionTimeSec <= 0) {
				generatedCoin += generateCoinPowerSec;
			}
			sleepTimeSec--;
			toFinishConstructionTimeSec--;
		}
		Debug.Log ("建設中に稼いだ金額は " + generatedCoin);
		return generatedCoin;
	}
Beispiel #52
0
	//アイドルを生成して親クラスを返す
	public Character GenerateIdol(StageData stageData){
		GameObject idlePrefab = Resources.Load ("Model/Idle/Idle_" + stageData.Id) as GameObject;
		GameObject idleObject = GenerateIdol (idlePrefab);
		return idleObject.GetComponent<Character> ();
	}
 protected void ChangeStage(int newIndex)
 {
     Pattern.Stage currentStage = Pattern.Stages[newIndex];
     currentStageData = new StageData()
     {
         Stage = currentStage,
         Index = newIndex,
         StartTime = Plugin.GameTime,
         ShouldEnableBrakeLights = ShouldEnableVehicleBrakeLightsForStage(currentStage)
     };
 }
	//DBからコイン生成パワーを返す
	private static double GenerateCoinPowerMin (StageData stageData) {
		GenerateCoinPowerDao dao = DaoFactory.CreateGenerateCoinPowerDao ();
		double generateCoinPower = dao.SelectById (stageData.Id, stageData.IdolCount);
		return generateCoinPower;
	}
	//DBからサボるまでの分数を返す
	private static int UntilSleepTimeMin (StageData stageData) {
		UntilSleepTimeDao dao = DaoFactory.CreateUntilSleepTimeDao ();
		int untilSleepTimeMin = dao.SelectById (stageData.Id, stageData.IdolCount);
		return untilSleepTimeMin;
	}
	//DBから建設完了までの分数を返す
	private static int ToFinishConstructionTimeMin (StageData stageData) {
		ConstructionTimeDao dao = DaoFactory.CreateConstructionTimeDao ();
		int toFinishConstructionTimeMin = dao.SelectById (stageData.Id);
		return toFinishConstructionTimeMin;
	}
Beispiel #57
0
	private void ShowMainGUI () {
		float right = 150f;
		float top = 0f;
		float left = 0f;
		float botton = 20f;
		float topDifference = 50f;
		#if !UNITY_EDITOR
		top = 100f;
		right = 200f;
		botton = 60f;
		left = 10f;
		topDifference = 90f;
		#endif

		#if UNITY_EDITOR
		Rect pauseRect = new Rect (left, top += topDifference, right, botton);
		bool clickedPause = GUI.Button (pauseRect, "save prefs");
		if (clickedPause) {
			PlayerDataKeeper.instance.SaveData ();
		}
		#endif
		Rect prefsRect = new Rect (left, top += topDifference, right, botton);
		bool clickedPrefs = GUI.Button (prefsRect, "セーブデータを削除");
		if (clickedPrefs) {
			Debug.Log ("セーブデータを削除");
			PlayerPrefs.DeleteAll ();
		}

		Rect deleteDBRect = new Rect (left, top += topDifference, right, botton);
		bool clickedDeleteDB = GUI.Button (deleteDBRect, "全ステージを削除");
		if (clickedDeleteDB) {
			DatabaseHelper.instance.DeleteDB ();
			DatabaseHelper.instance.CopyDB ();
		}

		Rect releaseAllStageRect = new Rect (left, top += topDifference, right, botton);
		bool clickedReleaseAllStage = GUI.Button (releaseAllStageRect, "全ステージ解放");
		if (clickedReleaseAllStage) {
			Debug.Log ("全ステージ解放");
			StageDao dao = DaoFactory.CreateStageDao ();
			for (int i = 1; i <= 48; i++) {
				StageData stage = new StageData ();
				stage.Id = i;
				stage.IdolCount = 10;
				stage.FlagConstruction = StageData.NOT_CONSTRUCTION;
				stage.UpdatedDate = System.DateTime.Now.ToString ();
				dao.UpdateRecord (stage);
			}
		}

		Rect unlockAllAreaRect = new Rect (left, top += topDifference, right, botton);
		bool clickedUnlockArea = GUI.Button (unlockAllAreaRect, "全エリアロック解除");
		if (clickedUnlockArea) {
			int[] clearedPuzzleCountArray = { 1, 1, 1, 1, 1, 1, 1, 1 };
			PrefsManager.instance.ClearedPuzzleCountArray = clearedPuzzleCountArray;
		}

		Rect decreaseCoinRect = new Rect (left, top += topDifference, right, botton);
		bool decreaseCoin = GUI.Button (decreaseCoinRect, "コインを1000減らす");
		if (decreaseCoin) {
			PlayerDataKeeper.instance.DecreaseCoinCount (1000);
		}

		Rect increaseTicketRect = new Rect (left, top += topDifference, right, botton);
		bool increaseTicket = GUI.Button (increaseTicketRect, "チケットを100枚増やす");
		if (increaseTicket) {
			PlayerDataKeeper.instance.IncreaseTicketCount (100);
		}

	}
	//ノーマル状態で中断した時に稼いだ金額を計算して返す
	private static double GeneratedCoinInNormal (double untilSleepTimeSec, StageData stageData, double sleepTimeSec, double liveTimeSec) {
		double generatedCoin = 0;
		//稼ぐ力
		double generateCoinPowerSec = (GenerateCoinPowerMin (stageData)) / 60;
		//中断時のサボるまでの秒数 or 中断した秒数が0になるまで足し続ける
		while (true) {
			if (untilSleepTimeSec <= 0) {
				break;
			}
			if (sleepTimeSec <= 0) {
				break;
			}
			//ライブ中は2倍
			if (liveTimeSec > 0) {
				generatedCoin += generateCoinPowerSec * 2;
			} else {
				generatedCoin += generateCoinPowerSec;
			}
			untilSleepTimeSec--;
			sleepTimeSec--;
			liveTimeSec--;
		}
		return generatedCoin;
	}
Beispiel #59
0
	//サボるまでの時間を返す
	private double UntilSleepTimeSec(StageData stageData){
		DateTime dtNow = DateTime.Now;
		DateTime dtUpdatedDate = DateTime.Parse (stageData.UpdatedDate);
		UntilSleepTimeDao untilSleepTimeDao = DaoFactory.CreateUntilSleepTimeDao ();
		int untilSleepTimeMin = untilSleepTimeDao.SelectById (stageData.Id, stageData.IdolCount);
		double untilSleepTimeSec = untilSleepTimeMin * 60;
		TimeSpan ts = dtNow - dtUpdatedDate;
		return untilSleepTimeSec - ts.TotalSeconds;
	}
Beispiel #60
0
	//サボっていたらtrueを返す
	private bool CheckSleep (StageData stageData) {
		DateTime dtNow = DateTime.Now;
		DateTime dtUpdatedDate = DateTime.Parse (stageData.UpdatedDate);
		UntilSleepTimeDao untilSleepTimeDao = DaoFactory.CreateUntilSleepTimeDao ();
		int untilSleepTimeMin = untilSleepTimeDao.SelectById (stageData.Id, stageData.IdolCount);
		double untilSleepTimeSec = untilSleepTimeMin * 60;
		TimeSpan ts = dtNow - dtUpdatedDate;
		if (ts.TotalSeconds > untilSleepTimeSec) {
			return true;
		}
		return false;
	}