Exemple #1
0
    // Use this for initialization
    void Start()
    {
        CS_PlayerManager.Instance.ShowPlayerNotInUse();
        CS_PlayerManager.Instance.InitPlayersInUse();

        //init player position
        List <GameObject> t_players = CS_PlayerManager.Instance.MyPlayersAll;

        for (int i = 0; i < t_players.Count; i++)
        {
            t_players [i].transform.position = myPlayerSpawnArea.GetRandomPoint();
        }
    }
 private void InitBall()
 {
     myBall      = Instantiate(myBallPrefab, CS_EverythingManager.Instance.transform) as GameObject;
     myBall.name = myBallPrefab.name;
     myBall.transform.position = mySpawnArea.GetRandomPoint();
 }
            public override bool Init(CS_RuleSet g_ruleSet)
            {
                if (!base.Init(g_ruleSet))
                {
                    return(false);
                }

                if (myRuleInfo.myScoreType != ScoreType.Trigger)
                {
                    Debug.LogError(this.gameObject.name + " need to be Trigger!");
                }


                //find goal
                myAreaPrefab = CS_EverythingManager.Instance.GetRandomPrefab(Constants.NAME_PROP_AREA);

                //check if is special goal size
                float t_specialSize = -1;

                foreach (SpecialGoalSize f_setting in mySpecialAreaSize)
                {
                    if (f_setting.prefab == myAreaPrefab)
                    {
                        t_specialSize = f_setting.size;
                    }
                }

                for (int i = 0; i < CS_PlayerManager.Instance.GetTeamCount(); i++)
                {
                    isPlayerOnHill.Add(0);
                    myPlayerOnHillTime.Add(0);
                }

                if (myRuleInfo.isTeamBased)
                {
                    //create goals accoring to team count
                    for (int i = 0; i < CS_PlayerManager.Instance.GetTeamCount(); i++)
                    {
                        GameObject f_goal = Instantiate(myAreaPrefab, CS_EverythingManager.Instance.transform) as GameObject;
                        f_goal.transform.rotation = Quaternion.identity;

                        CS_Prop_Area t_area = f_goal.GetComponentInChildren <CS_Prop_Area> ();
                        t_area.AddRule(this);
                        t_area.SetTeamNumber(i);
                        if (t_specialSize == -1)
                        {
                            f_goal.transform.localScale = f_goal.transform.localScale * myAreaSize;
                        }
                        else
                        {
                            f_goal.transform.localScale = f_goal.transform.localScale * t_specialSize;
                        }
                        //add goal to the list
                        myAreas.Add(t_area);
                    }

                    //move the goal and look at center
                    for (int i = 0; i < myAreas.Count; i++)
                    {
                        CS_Prop_SpawnArea t_area = CS_GameManager.Instance.GetRandomSpawnArea();
                        myAreas [i].transform.position = t_area.GetRandomPoint();
                        myAreas [i].transform.LookAt(t_area.transform.position);
                    }
                }
                else
                {
                    GameObject   f_goal = Instantiate(myAreaPrefab, CS_EverythingManager.Instance.transform) as GameObject;
                    CS_Prop_Area t_area = f_goal.GetComponentInChildren <CS_Prop_Area> ();
                    t_area.AddRule(this);
                    if (t_specialSize == -1)
                    {
                        f_goal.transform.localScale = f_goal.transform.localScale * myAreaSize;
                    }
                    else
                    {
                        f_goal.transform.localScale = f_goal.transform.localScale * t_specialSize;
                    }
                    //add goal to the list
                    myAreas.Add(t_area);
                }

                return(true);
            }