Beispiel #1
0
 // Use this for initialization
 void Start()
 {
     patrolHolder = GetComponent <CameraPortal>().orange.GetComponent <PatrolHoler>();
     commands     = GetComponent <MonkayCommands>();
     settings     = GetComponent <PlayerControlSettings>();
     timer        = 0;
 }
Beispiel #2
0
    // Use this for initialization
    void Start()
    {
        monkayAttachedToBack = false;

        settings = GetComponent <PlayerControlSettings>();

        currSChCSA  = switchCharactersCameraSpeedAcceleration;
        currSChLAtA = switchCharactersLookAtAcceleration;

        monkayAI = monkay.character.GetComponent <UnityStandardAssets.Characters.ThirdPerson.AICharacterControl>();

        switchingChars = false;
        currentChar    = orphan;

        SwitchCharacters();
        SwitchCharacters();

        ChangeState(monkay, MonkayState.following);
    }
Beispiel #3
0
    public static PlayerControlSettings PlayerControlSettings(PlayerControlSettings pc)
    {
        pc.type = (PlayerControlType)EditorTab.EnumToolbar("Type", (int)pc.type, typeof(PlayerControlType), 300);
        if(pc.IsDefaultControl())
        {
            pc.moveDead = EditorGUILayout.Toggle("Move dead", pc.moveDead, GUILayout.Width(mWidth));
            pc.useCharacterSpeed = EditorGUILayout.Toggle("Use char. speed", pc.useCharacterSpeed, GUILayout.Width(mWidth));
            if(!pc.useCharacterSpeed)
            {
                pc.runSpeed = EditorGUILayout.FloatField("Run speed", pc.runSpeed, GUILayout.Width(mWidth));
            }
            pc.gravity = EditorGUILayout.FloatField("Gravity", pc.gravity, GUILayout.Width(mWidth));
            pc.speedSmoothing = EditorGUILayout.FloatField("Speed smoothing", pc.speedSmoothing, GUILayout.Width(mWidth));
            pc.rotateSpeed = EditorGUILayout.FloatField("Rotate speed", pc.rotateSpeed, GUILayout.Width(mWidth));

            pc.firstPerson = EditorGUILayout.Toggle("First person", pc.firstPerson, GUILayout.Width(mWidth));
            if(!pc.firstPerson)
            {
                pc.useCamDirection = EditorGUILayout.Toggle("Use cam direction", pc.useCamDirection, GUILayout.Width(mWidth));
            }
            pc.verticalAxis = EditorGUILayout.TextField("Vertical axis key", pc.verticalAxis, GUILayout.Width(mWidth*1.2f));
            pc.horizontalAxis = EditorGUILayout.TextField("Horizontal axis key", pc.horizontalAxis, GUILayout.Width(mWidth*1.2f));
            EditorGUILayout.Separator();

            GUILayout.Label("Jump settings", EditorStyles.boldLabel);
            pc.useJump = EditorGUILayout.Toggle("Use jump", pc.useJump, GUILayout.Width(mWidth));
            if(pc.useJump)
            {
                pc.jumpKey = EditorGUILayout.TextField("Jump key", pc.jumpKey, GUILayout.Width(mWidth*1.2f));
                pc.jumpDuration = EditorGUILayout.FloatField("Jump duration", pc.jumpDuration, GUILayout.Width(mWidth));
                pc.jumpSpeed = EditorGUILayout.FloatField("Jump speed", pc.jumpSpeed, GUILayout.Width(mWidth));
                pc.jumpInterpolation = (EaseType)EditorGUILayout.EnumPopup("Jump interpolation",
                        pc.jumpInterpolation, GUILayout.Width(mWidth));
                pc.inAirModifier = EditorGUILayout.FloatField("In air modifier", pc.inAirModifier, GUILayout.Width(mWidth));
                pc.jumpMaxGroundAngle = EditorGUILayout.FloatField("Max ground angle", pc.jumpMaxGroundAngle, GUILayout.Width(mWidth));
                FloatHelper.Limit(ref pc.jumpMaxGroundAngle, 0, 90);
            }
            EditorGUILayout.Separator();

            GUILayout.Label("Sprint settings", EditorStyles.boldLabel);
            pc.useSprint = EditorGUILayout.Toggle("Use sprint",
                    pc.useSprint, GUILayout.Width(mWidth));
            if(pc.useSprint)
            {
                pc.sprintKey = EditorGUILayout.TextField("Sprint key", pc.sprintKey, GUILayout.Width(mWidth*1.2f));
                pc.sprintFactor = EditorGUILayout.FloatField("Sprint factor", pc.sprintFactor, GUILayout.Width(mWidth));
                EditorGUILayout.Separator();

                pc.useEnergy = EditorGUILayout.Toggle("Use energy", pc.useEnergy, GUILayout.Width(mWidth));
                if(pc.useEnergy)
                {
                    pc.maxEFormula = EditorGUILayout.Toggle("Max formula", pc.maxEFormula, GUILayout.Width(mWidth));
                    if(pc.maxEFormula)
                    {
                        pc.meFormula = EditorGUILayout.Popup("Max energy", pc.meFormula,
                                DataHolder.Formulas().GetNameList(true), GUILayout.Width(mWidth));
                    }
                    else
                    {
                        pc.maxEnergy = EditorGUILayout.FloatField("Max energy", pc.maxEnergy, GUILayout.Width(mWidth));
                    }
                    pc.energyCFormula = EditorGUILayout.Toggle("Consume formula", pc.energyCFormula, GUILayout.Width(mWidth));
                    if(pc.energyCFormula)
                    {
                        pc.ecFormula = EditorGUILayout.Popup("Energy consume (s)", pc.ecFormula,
                                DataHolder.Formulas().GetNameList(true), GUILayout.Width(mWidth));
                    }
                    else
                    {
                        pc.energyConsume = EditorGUILayout.FloatField("Energy consume (s)", pc.energyConsume, GUILayout.Width(mWidth));
                    }
                    pc.energyRFormula = EditorGUILayout.Toggle("Regeneration formula", pc.energyRFormula, GUILayout.Width(mWidth));
                    if(pc.energyRFormula)
                    {
                        pc.erFormula = EditorGUILayout.Popup("Energy regen. (s)", pc.erFormula,
                                DataHolder.Formulas().GetNameList(true), GUILayout.Width(mWidth));
                    }
                    else
                    {
                        pc.energyRegeneration = EditorGUILayout.FloatField("Energy regen. (s)", pc.energyRegeneration, GUILayout.Width(mWidth));
                    }
                }
            }
        }
        else if(pc.IsMobileControl())
        {
            pc.mouseTouch = EditorHelper.MouseTouchControlSettings(pc.mouseTouch, true);
            pc.moveDead = EditorGUILayout.Toggle("Move dead", pc.moveDead, GUILayout.Width(mWidth));
            pc.useCharacterSpeed = EditorGUILayout.Toggle("Use char. speed",
                    pc.useCharacterSpeed, GUILayout.Width(mWidth));
            if(!pc.useCharacterSpeed)
            {
                pc.runSpeed = EditorGUILayout.FloatField("Run speed", pc.runSpeed, GUILayout.Width(mWidth));
            }
            pc.gravity = EditorGUILayout.FloatField("Gravity", pc.gravity, GUILayout.Width(mWidth));
            pc.speedSmoothing = EditorGUILayout.FloatField("Speed smoothing", pc.speedSmoothing, GUILayout.Width(mWidth));
            EditorGUILayout.Separator();

            pc.raycastDistance = EditorGUILayout.FloatField("Raycast distance", pc.raycastDistance, GUILayout.Width(mWidth));
            pc.layerMask = EditorGUILayout.LayerField("Layer", pc.layerMask, GUILayout.Width(mWidth));
            EditorGUILayout.Separator();

            if(pc.cursorObject == null && "" != pc.cursorObjectName)
            {
                pc.cursorObject = (GameObject)Resources.Load(
                        BattleSystemData.PREFAB_PATH+
                        pc.cursorObjectName, typeof(GameObject));
            }
            pc.cursorObject = (GameObject)EditorGUILayout.ObjectField("Cursor prefab",
                    pc.cursorObject, typeof(GameObject), false, GUILayout.Width(mWidth*1.2f));
            if(pc.cursorObject) pc.cursorObjectName = pc.cursorObject.name;
            else pc.cursorObjectName = "";
            pc.cursorOffset = EditorGUILayout.Vector3Field("Cursor offset", pc.cursorOffset, GUILayout.Width(mWidth));
            pc.autoRemoveCursor = EditorGUILayout.Toggle("Autoremove cursor", pc.autoRemoveCursor, GUILayout.Width(mWidth));
            EditorGUILayout.Separator();

            pc.minimumMoveDistance = EditorGUILayout.FloatField("Min.move distance", pc.minimumMoveDistance, GUILayout.Width(mWidth));
            pc.ignoreYDistance = EditorGUILayout.Toggle("Ignore Y distance", pc.ignoreYDistance, GUILayout.Width(mWidth));
            pc.useEventMover = EditorGUILayout.Toggle("Use event mover", pc.useEventMover, GUILayout.Width(mWidth));
            pc.autoStopMove = EditorGUILayout.Toggle("Autostop move", pc.autoStopMove, GUILayout.Width(mWidth));
        }
        return pc;
    }
Beispiel #4
0
 void Start()
 {
     settings = GetComponent <PlayerControlSettings>();
     commands = GetComponent <MonkayCommands>();
 }
Beispiel #5
0
 void Start()
 {
     settings       = GetComponent <CharakterPortal>().settings;
     cameraSettings = transform.parent.GetComponent <CameraSettings>();
 }