예제 #1
0
    // Use this for initialization
    void Start()
    {
        raycastGun = gameObject.GetComponent <RaycastGun>();
        prefabGun  = gameObject.GetComponent <PrefabGun>();

        raycastGun.enabled = true;
        prefabGun.enabled  = false;
    }
예제 #2
0
 //public GameObject Sa
 // Start is called before the first frame update
 void Start()
 {
     RayGun  = FindObjectOfType <RaycastGun>();
     CashGun = GetComponent <Transform>();
 }
예제 #3
0
    public void AddGadget(MonoBehaviour gadget)
    {
        if (gadgets.Count < maxGadgets)
        {
            switch (gadget.GetType().ToString())
            {
            case "JetpackMovement":
                JetpackMovement gadgetJM    = gadget.GetComponent <JetpackMovement>();
                JetpackMovement newGadgetJM = gameObject.AddComponent <JetpackMovement>();
                newGadgetJM.upwardMultiplier    = gadgetJM.upwardMultiplier;
                newGadgetJM.gadgetPreviewPrefab = gadgetJM.gadgetPreviewPrefab;
                gadgets.Add(newGadgetJM);
                newGadgetJM.enabled = false;
                break;

            case "ProjectileGun":
                ProjectileGun gadgetPG    = gadget.GetComponent <ProjectileGun>();
                ProjectileGun newGadgetPG = gameObject.AddComponent <ProjectileGun>();
                newGadgetPG.cooldown            = gadgetPG.cooldown;
                newGadgetPG.projectilePrefab    = gadgetPG.projectilePrefab;
                newGadgetPG.gadgetPreviewPrefab = gadgetPG.gadgetPreviewPrefab;
                newGadgetPG.angleMultiplier     = gadgetPG.angleMultiplier;
                newGadgetPG.pointerModel        = gadgetPG.pointerModel;
                gadgets.Add(newGadgetPG);
                newGadgetPG.enabled = false;
                break;

            case "RaycastGun":
                RaycastGun gadgetRG    = gadget.GetComponent <RaycastGun>();
                RaycastGun newGadgetRG = gameObject.AddComponent <RaycastGun>();
                newGadgetRG.cooldown             = gadgetRG.cooldown;
                newGadgetRG.damage               = gadgetRG.damage;
                newGadgetRG.impactForce          = gadgetRG.impactForce;
                newGadgetRG.range                = gadgetRG.range;
                newGadgetRG.impactParticleSystem = gadgetRG.impactParticleSystem;
                newGadgetRG.gadgetPreviewPrefab  = gadgetRG.gadgetPreviewPrefab;
                newGadgetRG.angleMultiplier      = gadgetRG.angleMultiplier;
                newGadgetRG.pointerModel         = GetComponent <GadgetReferences>().raycastGunPointer;
                gadgets.Add(newGadgetRG);
                newGadgetRG.enabled = false;
                break;

            case "Shield":
                Shield gadgetSh    = gadget.GetComponent <Shield>();
                Shield newGadgetSh = gameObject.AddComponent <Shield>();
                newGadgetSh.maxEnergy                 = gadgetSh.maxEnergy;
                newGadgetSh.startWithFullEnergy       = gadgetSh.startWithFullEnergy;
                newGadgetSh.loseEnergyOnHit           = gadgetSh.loseEnergyOnHit;
                newGadgetSh.loseEnergyOverTime        = gadgetSh.loseEnergyOverTime;
                newGadgetSh.energyRegeneration        = gadgetSh.energyRegeneration;
                newGadgetSh.shieldObject              = GetComponent <GadgetReferences>().shield;
                newGadgetSh.shieldActiveMaterial      = gadgetSh.shieldActiveMaterial;
                newGadgetSh.shieldDeactivatedMaterial = gadgetSh.shieldDeactivatedMaterial;
                newGadgetSh.gadgetPreviewPrefab       = gadgetSh.gadgetPreviewPrefab;
                break;

            default:
                Debug.LogError("Gadget not listed, unable to add");
                break;
            }
            Initialize();
        }
    }