Пример #1
0
    protected void Initialize()
    {
        //Create the collection particle system.
        Collection = Instantiate(Collection) as ParticleSystem;

        //Cache values
        myTransform = transform;
        Rdbdy       = GetComponent <Rigidbody>();

        //Set things in place for the first time.
        connectorcontroller = GetComponent <CannonConnector>();
        connectorcontroller.SetHost(gameObject);

        // set the reference to the cannon position
        CannonConnectorPos connectorPos = this.gameObject.GetComponentInChildren <CannonConnectorPos>();

        if (connectorPos)
        {
            this.cannonConnectorPos = connectorPos;
        }

        //Get the trail renderer.
        trail = GetComponent <TrailRenderer>();
        //trail.enabled = false;

        //Store the original drag
        originalDrag = StartingDrag;



        //Update the position of the shield.
        if (DefenseUnitSlot)
        {
            DefenseUnitSlot.transform.position = transform.position;
            DefenseUnitSlot.transform.parent   = transform;
        }

        if (Collection)
        {
            Collection.transform.position = transform.position;
            Collection.transform.parent   = transform;
        }
        if (BallCollection)
        {
            BallCollection = Instantiate(BallCollection) as ParticleSystem;
        }
        if (OverheatEffect)
        {
            OverheatEffect = Instantiate(OverheatEffect) as ParticleSystem;

            //OverheatEffect.transform.localPosition = Vector3.zero;
            OverheatEffect.transform.position = transform.position;
            OverheatEffect.transform.parent   = transform;
        }

        if (CaptureBallEffect)
        {
            CaptureBallEffect = Instantiate(CaptureBallEffect) as ParticleSystem;
            CaptureBallEffect.transform.localPosition = Vector3.zero;
        }

        if (BlockEffect)
        {
            BlockEffect = Instantiate(BlockEffect) as ParticleSystem;
            BlockEffect.transform.position = transform.position;
            BlockEffect.transform.parent   = transform;
        }


        if (ShieldPushEffect)
        {
            ShieldPushEffect = Instantiate(ShieldPushEffect) as ParticleSystem;
            ShieldPushEffect.transform.parent        = transform;
            ShieldPushEffect.transform.localPosition = Vector3.zero;
        }

        if (DeflectEffect)
        {
            DeflectEffect = Instantiate(DeflectEffect) as ParticleSystem;
            DeflectEffect.transform.parent        = transform;
            DeflectEffect.transform.localPosition = Vector3.zero;
        }

        if (EmptyShatterEffect)
        {
            EmptyShatterEffect = Instantiate(EmptyShatterEffect) as ParticleSystem;
            EmptyShatterEffect.transform.parent        = transform;
            EmptyShatterEffect.transform.localPosition = Vector3.zero;
        }

        if (OverheatWarningEffect)
        {
            OverheatWarningEffect = Instantiate(OverheatWarningEffect) as ParticleSystem;
            OverheatWarningEffect.transform.parent        = transform;
            OverheatWarningEffect.transform.localPosition = Vector3.zero;
        }

        if (ShatterEffect)
        {
            ShatterEffect = Instantiate(ShatterEffect) as ParticleSystem;
            ShatterEffect.transform.localPosition = Vector3.zero;
        }


        if (WallCollideParticleEffectPreb)
        {
            WallCollideParticleEffect = Instantiate(WallCollideParticleEffectPreb) as ParticleSystem;
            WallCollideParticleEffect.transform.parent        = transform;
            WallCollideParticleEffect.transform.localPosition = Vector3.zero;
            WallCollideParticleEffect.transform.rotation      = transform.rotation;
            WallCollideParticleEffect.transform.localRotation = Quaternion.identity;
            //	WallCollideParticleEffect.gameObject.SetActive(false);
        }

        if (DamageEffect)
        {
            DamageEffect = Instantiate(DamageEffect) as ParticleSystem;

            DamageEffect.transform.parent        = transform;
            DamageEffect.transform.localPosition = Vector3.zero;
        }
    }
Пример #2
0
    protected void Initialize()
    {
        if (Collection)
        {
            //Create teh collection Particle Effect
            Collection = Instantiate(Collection) as ParticleSystem;


            Collection.transform.position = transform.position;
            Collection.transform.parent   = transform;
        }

        if (PreparingEffect)
        {
            //Create the effect
            PreparingEffect = Instantiate(PreparingEffect) as ParticleSystem;

            PreparingEffect.transform.parent        = transform;
            PreparingEffect.transform.localPosition = Vector3.zero;
        }

        //Get the connect Controller.
        connectorcontroller = GetComponentInChildren <CannonConnector>();
        if (connectorcontroller == null)
        {
            Debug.LogError("can't find cannon connector!!!!!!");
        }
        connectorcontroller.SetHost(gameObject);

        //All bad guys have hot cannons so nobody else picks up their cannons after they drop it.
        connectorcontroller.SetHotCannon(ForbiddenWeapons);


        //Get the smart beam
        Eyes = GameObjectTracker.GetGOT().World._objectView;

        Hands = GetComponent <BlackHole>();

        if (!Hands)
        {
            Debug.Log("No Black Hole created for enemy!");
        }

        //Set the ID
        timestamp = (int)Time.time;

        if (!Eyes)
        {
            Debug.LogError("No Smartbeam found on enemy! Please make sure to attach Smart Beam!");
        }

        CannonSpawner c = gameObject.GetComponentInChildren <CannonSpawner>();

        //Lets look for a spawner.
        if (c)
        {
            mySpawner = c;
        }

        myTransform = transform;
    }