public void GeneratePowerupObject(ObjectModifierScriptableObject objectModifierScriptableObject, InteractableType interactableType)
 {
     SpawnObject();
     interactableController.powerupObjectType = powerupObjectType;
     interactableController.powerupAmount     = powerupAmount;
     interactableController.objectModifierScriptableObject = objectModifierScriptableObject;
     interactableController.InteractableType = interactableType;
 }
 public void GenerateUpgradeObject(ObjectModifierScriptableObject objectModifierScriptableObject, InteractableType interactableType)
 {
     SpawnObject();
     interactableController.upgradeObjectType = upgradeObjectType;
     interactableController.upgradeModifier   = upgradeModifier;
     interactableController.objectModifierScriptableObject = objectModifierScriptableObject;
     interactableController.InteractableType = interactableType;
 }
Beispiel #3
0
 private void Update()
 {
     if (Input.GetMouseButtonDown(0))
     {
         ObjectModifierScriptableObject instanceTest = ObjectModifierScriptableObject.Create(new ObjectModifierScriptableObjectConfig()
         {
             interactableType           = InteractableType.NORMAL,
             interactableInfluence      = InteractableInfluence.POWERUP,
             interactableObjectLocation = new Vector3(-18, 0.5f, -17),
             upgradeObjectType          = UpgradeObjectType.WEAPON,
             upgradeModifier            = 0,
             powerupAmount     = 10,
             powerupObjectType = PowerupObjectType.SPEED
         });
         instanceTest.GeneratePowerupObject(instanceTest, instanceTest.interactableType);
     }
 }
Beispiel #4
0
    public override void OnInspectorGUI()
    {
        ObjectModifierScriptableObject objectModifierScriptableObject = target as ObjectModifierScriptableObject;

        //objectModifierScriptableObject.interactableObject = (GameObject)EditorGUILayout.ObjectField(objectModifierScriptableObject.interactableObject, typeof(GameObject), false);
        objectModifierScriptableObject.interactableInfluence = (InteractableInfluence)EditorGUILayout.EnumPopup("Object Modifier Type: ", objectModifierScriptableObject.interactableInfluence);
        EditorGUILayout.Space();
        objectModifierScriptableObject.interactableObjectLocation = EditorGUILayout.Vector3Field("Spawn Location: ", objectModifierScriptableObject.interactableObjectLocation);
        EditorGUILayout.Space();

        switch (objectModifierScriptableObject.interactableInfluence)
        {
        case InteractableInfluence.POWERUP:
            objectModifierScriptableObject.upgradeModifier   = 0;
            objectModifierScriptableObject.upgradeObjectType = UpgradeObjectType.WEAPON;
            objectModifierScriptableObject.powerupObjectType = (PowerupObjectType)EditorGUILayout.EnumPopup("Powerup Type: ", objectModifierScriptableObject.powerupObjectType);
            EditorGUILayout.Space();
            switch (objectModifierScriptableObject.powerupObjectType)
            {
            case PowerupObjectType.HEALTH:
                objectModifierScriptableObject.powerupAmount = EditorGUILayout.FloatField("Health Amount: ", objectModifierScriptableObject.powerupAmount);
                break;

            case PowerupObjectType.SPEED:
                objectModifierScriptableObject.powerupAmount = EditorGUILayout.FloatField("New Speed Value: ", objectModifierScriptableObject.powerupAmount);
                break;
            }
            break;

        case InteractableInfluence.UPGRADE:
            objectModifierScriptableObject.powerupAmount     = 0f;
            objectModifierScriptableObject.powerupObjectType = PowerupObjectType.HEALTH;
            objectModifierScriptableObject.upgradeObjectType = (UpgradeObjectType)EditorGUILayout.EnumPopup("Upgrade Type: ", objectModifierScriptableObject.upgradeObjectType);
            EditorGUILayout.Space();
            objectModifierScriptableObject.upgradeModifier = EditorGUILayout.IntField("Upgrade Modifier: ", objectModifierScriptableObject.upgradeModifier);
            break;
        }
    }