예제 #1
0
파일: StatusManager.cs 프로젝트: pirib/TBG
    // Adds a new Status
    public GameObject add_status(string Status_name, Unit unit)
    {
        // Instantiate a status object
        GameObject new_status = Instantiate(status, unit.gameObject.transform);

        // Get the specified statusAbstract based on the Status_name
        StatusAbstract statusAbstract = get_StatusAbstract_byName(Status_name);

        // Assign statusAbstract parameters to a status new_status
        assign_status_parameters(ref statusAbstract, ref new_status, ref unit);

        new_status.GetComponent <Status>().unit = unit;

        // Return the new_status to the Unit, so it knows what new Status it has
        return(new_status);
    }
예제 #2
0
파일: Player.cs 프로젝트: tagoria/HGS
        public void AjouterStatus(StatusAbstract status)
        {
            if (listeStatus.ContainsKey(status.id))
            {
                if (status.isAddable())
                {
                    listeStatus[status.id].add(status);
                }
            }
            else
            {
                status.onStart();
                listeStatus.Add(status.id, status);
            }

            StatusHolder.instance.afficherStatus(listeStatus);
        }
예제 #3
0
파일: StatusManager.cs 프로젝트: pirib/TBG
    // Moves over the parameters of StatusAbstract to NewStatus of the unit. ADD new fields as they come
    private void assign_status_parameters(ref StatusAbstract StatusAbstract, ref GameObject NewStatus, ref Unit unit)
    {
        // Get a handle on the script of the NewStatus
        Status new_status = NewStatus.GetComponent <Status>();

        // Set handlers
        new_status.unit = unit;

        // Populate data
        new_status.universal        = StatusAbstract.universal;
        new_status.stat_gen         = StatusAbstract.stat_gen;
        new_status.buff_duration    = StatusAbstract.buff_duration;
        new_status.sub_dmg_receive  = StatusAbstract.sub_dmg_receive;
        new_status.sub_heal_receive = StatusAbstract.sub_heal_receive;

        // Subscribe to delegates
        new_status.subscribe();
    }