示例#1
0
    public virtual void UnitDie()
    {
        //if (!GameMaster.Player1Hero)
        //{
        if (faction.Equals(Faction.Blue))
        {
            ScoreRegister.AddRedScore(1);
        }
        else if (faction.Equals(Faction.Red))
        {
            ScoreRegister.AddBlueScore(1);
        }

        if (Interactionable && !this.GetComponent <HerosUnit>())
        {
            GetGUI.DesactivateButtons();
            GetGUI.DesctivateProductionBar();
            GetGUI.GUIButtons.Clear();
        }
        //}
        if (GetComponentInChildren <TriggerXp>())
        {
            GetComponentInChildren <TriggerXp>().GiveExp();
        }

        DestroyIt();
    }
示例#2
0
    public override void UnitDie()
    {
        // TODO
        if (faction.Equals(Faction.Blue))
        {
            ScoreRegister.AddRedScore(1);
        }
        else if (faction.Equals(Faction.Red))
        {
            ScoreRegister.AddBlueScore(1);
        }

        if (Interactionable && !this.GetComponent <HerosUnit>())
        {
            GetGUI.DesactivateButtons();
            GetGUI.DesctivateProductionBar();
            GetGUI.GUIButtons.Clear();
        }
        //}
        foreach (Order order in Orders)
        {
            if (order.BuildingGhost)
            {
                order.BuildingGhost.GetComponent <BuildingGhost>().NbWorkersAssigned--;
            }
        }
        SendMessage("StopAction");
        Destroy(SmallHealthBar);
        Destroy(gameObject);
    }
示例#3
0
    void Awake()
    {
        currentExperiencePoints = PlayerPrefsManager.GetPlayerScore();
        gameOverMessage.GetComponent <Text>().text  = ScoreRegister.Winner == GameMaster.PlayerFaction ? "Victory" : "Defeat";
        gameOverMessage.GetComponent <Text>().color = ScoreRegister.Winner == GameMaster.PlayerFaction ? Color.green : Color.red;
        experiencePointsEarned  = ScoreRegister.PlayerScore();
        experiencePointsEarned += ScoreRegister.Winner == GameMaster.PlayerFaction ? 100 : 0;

        playerAdditionnalPoints.GetComponent <Text>().text = "+ " + experiencePointsEarned.ToString();
        UpdateExperiencePointsDisplay();
        firstExperiencePoints = currentExperiencePoints;
        totalExperiencePoints = currentExperiencePoints + experiencePointsEarned;

        PlayerPrefsManager.SetPlayerScore(totalExperiencePoints);
        ScoreRegister.ResetScores();
    }
示例#4
0
    // Update is called once per frame
    void Update()
    {
        if (HasBeenRepaired)
        {
            return;
        }
        if (IsDamaged)
        {
            if (Repairing)
            {
                CurrentRepairTime -= Time.deltaTime;
                if (CurrentRepairTime <= 0.1f)
                {
                    IsDamaged = false;
                    GetComponent <MeshFilter>().sharedMesh = RepariedObject.GetComponent <MeshFilter>().sharedMesh;
                    if (!ShouldBreakAgain)
                    {
                        HasBeenRepaired = true;
                    }
                    Repairing = false;
                    SetRepairedState();
                    print("repair complete");
                    CurrentTime    = TimeUntilBroken;
                    RepairProgress = 1.0f;
                    GameObject    go    = GameObject.FindWithTag("ScoreText");
                    ScoreRegister other = (ScoreRegister)go.GetComponent(typeof(ScoreRegister));
                    if (ShouldBreakAgain)
                    {
                        other.EngineFixed();
                    }
                    else
                    {
                        other.DamageFixed();
                    }
                }
                RepairProgress = CurrentRepairTime / TimeUntilRepair;


                progressSlider.value = 1.0f - RepairProgress;
            }
            return;
        }
        else if (TextVis)
        {
            CurrentVisTime -= Time.deltaTime;
            if (CurrentVisTime < 0.1f)
            {
                TextVis = false;
                //GameObject.FindWithTag("DamageText").GetComponent<TextMesh>().GetComponent<Renderer>().enabled = false;
            }
        }
        else
        {
        }
        CurrentTime -= Time.deltaTime;
        if (CurrentTime < 0.1f)
        {
            //GameObject.FindWithTag("DamageText").GetComponent<TextMesh>().color = Color.red;
            //GameObject.FindWithTag("DamageText").GetComponent<TextMesh>().text = "Damaged";
            //GameObject.FindWithTag("DamageText").GetComponent<TextMesh>().GetComponent<Renderer>().enabled = true;
            IsDamaged            = true;
            RepairProgress       = 0.0f;
            progressSlider.value = 0.0f;
            GetComponent <MeshFilter>().sharedMesh = DamagedObject.GetComponent <MeshFilter>().sharedMesh;
            CurrentRepairTime = TimeUntilRepair;
        }
    }