Exemplo n.º 1
0
    public void SetData(StateControllerData data)
    {
        if (data == null)
        {
            return;
        }

        currentState = GameObject.Instantiate(ResourceManager.GetAiState(data.currentState));
        defaultState = GameObject.Instantiate(ResourceManager.GetAiState(data.defaultState));

        string currentStateName = currentState.name;
        string defaultStateName = defaultState.name;

        currentState.name = currentStateName.Contains("(") ? currentStateName.Substring(0, currentStateName.IndexOf("(")).Trim() : currentStateName;
        defaultState.name = defaultStateName.Contains("(") ? defaultStateName.Substring(0, defaultStateName.IndexOf("(")).Trim() : defaultStateName;

        chaseTarget = data.chaseTargetId != -1
            ? Player.GetObjectById(data.chaseTargetId)
            : null;
        controlledObject = data.controlledObjectId != -1
           ? Player.GetObjectById(data.controlledObjectId)
           : null;
        attacking = data.attacking;
        aiActive  = data.aiActive;
    }
Exemplo n.º 2
0
    public StateControllerData GetData()
    {
        string currentStateName = currentState.name;
        string defaultStateName = defaultState.name;

        var data = new StateControllerData(
            currentStateName.Contains("(") ? currentStateName.Substring(0, currentStateName.IndexOf("(")).Trim() : currentStateName,
            defaultStateName.Contains("(") ? defaultStateName.Substring(0, defaultStateName.IndexOf("(")).Trim() : defaultStateName,
            chaseTarget ? chaseTarget.ObjectId : -1,
            controlledObject ? controlledObject.ObjectId : -1,
            attacking,
            aiActive
            );

        return(data);
    }