コード例 #1
0
ファイル: Form1.cs プロジェクト: kidVt1/MineSweep
 private void Area_OnStatusChange(AreaStatus status)
 {
     if (status == AreaStatus.boom)
     {
         timer1.Stop();
         for (int i = 0; i < areaSet.Count; i++)
         {
             areaSet[i].mineArea.Click(false);
         }
         MessageBox.Show("you fail");
     }
     else
     {
         int count = 0;
         for (int i = 0; i < areaSet.Count; i++)
         {
             if (areaSet[i].mineArea.status == AreaStatus.block && !areaSet[i].mineArea.isMine)
             {
                 count++;
             }
         }
         if (count == 0)
         {
             timer1.Stop();
             for (int i = 0; i < areaSet.Count; i++)
             {
                 if (areaSet[i].mineArea.status == AreaStatus.block && areaSet[i].mineArea.isMine)
                 {
                     areaSet[i].mineArea.Click(true);
                 }
             }
             MessageBox.Show("you success,total time:" + lbTimer.Text);
         }
     }
 }
コード例 #2
0
    public void ShowCurrentAreaInfo()
    {
        Debug.Log("Show current area info of map manager");

        Area currentArea = geoLocManager.GetCurrentArea();

        //Debug.Log("Show current position with current area: " + currentArea + "  Img: " + currentPosImg);

        if (currentArea.name != GameManager.defaultAreaName) // Si no es el área por defecto, se pone el marcador de posición y el texto del área (o tag)
        {
            currentPosImg.position = new Vector3(areaImages[geoLocManager.GetCurrentArea().name].transform.position.x, areaImages[geoLocManager.GetCurrentArea().name].transform.position.y + 1f, areaImages[geoLocManager.GetCurrentArea().name].transform.position.z);
            AreaStatus currentAreaStatus = gameData.areasStatus[currentArea.name];
            if (currentAreaStatus == AreaStatus.Visited || currentAreaStatus == AreaStatus.Completed)
            {
                currentAreaText.text = currentArea.tag; // <-- AQUÍ SERÍA INTERESANTE METER UNA TAG DESDE LA WEB DE ANGULAR
            }
            else
            {
                currentAreaText.text = "¿?";
            }
        }
        else // Si es el área por defecto...
        {
            currentPosImg.position = Vector3.one * 2000f;
            currentAreaText.text   = "";
        }
    }
コード例 #3
0
    // Start is called before the first frame update
    void Start()
    {
        m_Status = AreaStatus.Unreleased;

        for (int i = 0; i < transform.childCount; i++)
        {
            m_floors.Add(transform.GetChild(i).gameObject);
        }

        SetColorChildlen(m_StatusColor[(int)m_Status]);
    }
コード例 #4
0
    public void ChangeNum()
    {
        curX          = car.GetComponent <MoveControllor>().carPosX;
        curY          = car.GetComponent <MoveControllor>().carPosY;
        curAreaStatus = areas.transform.Find(PosPath(curX, curY)).gameObject;
        curAS         = curAreaStatus.GetComponent <AreaStatus>();

        textWood.text = "余量:" + curAS.numWood.ToString();
        textIron.text = "余量:" + curAS.numIron.ToString();
        textFood.text = "余量:" + curAS.numFood.ToString();

        updateEnemyInfo(curAS);
    }
コード例 #5
0
 public ApplicationRealmArea(string name,
                             string oper,
                             string descr,
                             AreaStatus status,
                             DateTime utc,
                             AreaStatus nextStatus,
                             DateTime?nextUtc)
 {
     m_Name          = name;
     m_Operator      = oper;
     m_Description   = descr;
     m_Status        = status;
     m_StatusUTC     = utc;
     m_NextStatus    = nextStatus;
     m_NextStatusUTC = nextUtc;
 }
コード例 #6
0
        public static void PrepareAreaMessage(ExcelResult result, string sheetName, AreaStatus areaStatus, string eventName)
        {
            switch (areaStatus)
            {
            case AreaStatus.Canceled:
                result.ExcelMessages.Add(ExcelMessageFactory.GenerateEvent(
                                             string.Format("工作表:{0}在事件{1}中被取消", sheetName, eventName), true));
                result.Result = ExcelResultType.Canceled;
                break;

            case AreaStatus.Skip:
                result.ExcelMessages.Add(ExcelMessageFactory.GenerateEvent(
                                             string.Format("工作表:{0}在事件{1}中被跳过", sheetName, eventName), false));
                break;
            }
        }
コード例 #7
0
 public void UpdateCurrentAreaStatus(AreaStatus newStatus)
 {
     // La primera vez que se completa un área, se desbloquea un logro!
     if (newStatus == AreaStatus.Completed)
     {
         GPGSManager.Instance.AchievementAccomplished(GPGSIds.achievement_madera_de_explorador);
     }
     gameData.areasStatus[geoLocManager.GetCurrentArea().name] = newStatus; // SUPONGAMOS QUE ASÍ SE ASIGNA UN VALOR A UNA CLAVE
     gameData.UpdateCompletedPercentage();                                  // Actualizamos porcentaje completado
     if (newStatus == unlockStatus)
     {
         gameData.UnlockRandomArea();
     }
     SaveGame(gameData); // Guardamos el juego después de actualizar el estado
     Debug.Log("Area status updated and game saved");
 }
コード例 #8
0
    private void updateEnemyInfo(AreaStatus curAS)
    {
        int enemyID = curAS.enemyID;

        if (enemyID < 0)
        {
            textEnemy.text     = "无敌人";
            textEstimated.text = "";
            return;
        }

        if (!curAS.enemy_alive)
        {
            textEnemy.text     = "敌人已被消灭";
            textEstimated.text = "";
            return;
        }

        Enemy enemy = new EnemyCreator().createByID(enemyID);

        textEnemy.text = enemy.name;

        Player player = GameController.Instance.CurrentPlayer;

        if (player)
        {
            FightResult efr = new Fight(new Fighter(player), enemy).estimatedResult();

            if (efr.result == (int)WinOrLose.Win)
            {
                textEstimated.text = "预计损失血量" + efr.damage;
                return;
            }
            textEstimated.text = "不可战胜";
        }
    }
コード例 #9
0
 public AreaStatusChangeEventArgs(Area <T> area, AreaStatus oldStatus, AreaStatus newStatus) : base()
 {
     Area      = area;
     OldStatus = oldStatus;
     NewStatus = newStatus;
 }
コード例 #10
0
 public string UpdateCurrentStatus(AreaStatus newStatus)
 {
     GameManager.Instance.UpdateCurrentAreaStatus(newStatus); //Lo actualizo en el gameManager
     return(newStatus.ToString());
 }