示例#1
0
    public void AbsorbDivision(DivisionController other)
    {
        TransferSoldiers(other.soldiers);
        //kick him out of his commanders subordinate list
        RememberedDivision parent = other.commander;

        if (parent != null)
        {
            parent.RemoveSubordinate(other.GenerateRememberedDivision());
        }
        GameObject.Destroy(other.gameObject);
        GameManager.instance.RefreshAllDivisons();
    }
示例#2
0
    public virtual DivisionController CreateChild(List <Soldier> soldiersForChild)
    {
        GameObject         newDivision   = Instantiate(divisonPrefab);
        DivisionController newController = newDivision.GetComponent <DivisionController>();

        newController.Init(GenerateRememberedDivision());
        newController.soldiers         = soldiersForChild;
        newDivision.transform.position = this.transform.position;
        newDivision.transform.rotation = this.transform.rotation;
        subordinates.Add(newController.GenerateRememberedDivision());
        GameManager.instance.RefreshAllDivisons();
        return(newController);
    }