Inheritance: MonoBehaviour
Exemple #1
0
    void Initialize(GameObject[] ObstacleInstances, GameObject BeginningPlatform)
    {
        Instance = this;

        ManagedPlatforms = new List<ObstacleMovement>();

        for( int i = 0; i < NumberOfObstacles; ++i )
        {
            GameObject newObstacle = Instantiate( ObstacleInstances[Random.Range( 0, ObstacleInstances.Length )]);
            newObstacle.SetActive( false );
            newObstacle.transform.parent = transform;
            ManagedPlatforms.Add( newObstacle.GetComponent<ObstacleMovement>() );
            ManagedPlatforms[i].SetSpeed( Speed );
        }

        IndexToSpawn = 0;
        Playing = true;
        Vector3 Spawn_platform = new Vector3( EvaPosition.position.x, 0.0f, 0.0f );
        ManagedPlatforms[(IndexToSpawn++ % NumberOfObstacles)].Spawn( Spawn_platform );
        CurrentPlatform = 0;

        GameObject beginningObstacle = (GameObject)Instantiate( BeginningPlatform );
        beginningObstacle.transform.parent = transform;
        Vector3 End = beginningObstacle.GetComponent<ObstacleMovement>().GetEndPoint();
        End.x -= Offset;
        Spawn_platform = new Vector3( EvaPosition.position.x - End.x, 0.0f, 0.0f );
        beginningObstacle.GetComponent<ObstacleMovement>().Spawn( Spawn_platform );
    }
 void Start()
 {
     SM = GameObject.Find("SpawnManager").GetComponent<SpawnManager>();
     if(setSpawnPoint)
         SM.SetNextSpawnPoint(nextSpawnPoint);
     Spawn();
 }
Exemple #3
0
    static void GetSpawnManager()
    {
        spawnManager=(SpawnManager)FindObjectOfType(typeof(SpawnManager));

        if(spawnManager!=null){
            if(spawnManager.spawnMode==_SpawnMode.Continuous) spawnType=0;
            else if(spawnManager.spawnMode==_SpawnMode.WaveCleared) spawnType=1;
            else if(spawnManager.spawnMode==_SpawnMode.RoundBased) spawnType=2;
            else if(spawnManager.spawnMode==_SpawnMode.SkippableContinuous) spawnType=3;
            else if(spawnManager.spawnMode==_SpawnMode.SkippableWaveCleared) spawnType=4;

            waveLength=spawnManager.waves.Length;
            //UpdateWaveLength();

            waveFoldList=new bool[waveLength];
            for(int i=0; i<waveFoldList.Length; i++){
                waveFoldList[i]=true;
            }

            subWaveLength=new int[waveLength];
            for(int i=0; i<waveLength; i++){
                Wave wave=spawnManager.waves[i];
                //Debug.Log(wave.subWaves);
                subWaveLength[i]=wave.subWaves.Length;
            }
        }

        rscManager=(ResourceManager)FindObjectOfType(typeof(ResourceManager));
    }
 public static void Initialize()
 {
     ClientDB = ClientDBManager.GetInstance();
     Redirect = RedirectManager.GetInstance();
     Session  = SessionManager.GetInstance();
     Player   = PlayerManager.GetInstance();
     Spawns   = SpawnManager.GetInstance();
 }
 private void Start()
 {
     _xform           = transform; 
     _startingColor   = renderer.material.color; 
     _pool            = PoolManager.Pools[_BULLET_POOL_STRING];
     _particleManager = GameObject.Find("ParticleManager").GetComponent<ParticleEffectsManager>();
     _spawnManager    = GameObject.Find("SpawnMananger").GetComponent<SpawnManager>();
 }
 void Start()
 {
     test = GetComponent<LeftRightTest>();
     sim = GetComponent<ButtonSimulator>();
     sim2 = engineLeft.GetComponent<ForwardBackSimulator>();
     AI = transform.parent.GetComponent<SpawnManager>();
     AI.isAI = true;
 }
    void InitialiseData()
    {
        smScript = transform.parent.GetComponent<SpawnManager>();
        GameObject _LevelManager = GameObject.Find("LevelManager");
        lmScript = _LevelManager.GetComponent<LevelManager>();


        PoolWaves();
    }
Exemple #8
0
    void Awake()
    {
        _singleton = this;

        enemyPrefabs = new List<GameObject>(2);
        _gm = Game.Instance;
        enemyPrefabs.Add(Resources.Load("Enemies/Bombman/Bombman") as GameObject);
        enemyPrefabs.Add(Resources.Load("Enemies/Eye/Eye") as GameObject);
    }
Exemple #9
0
    protected override void Awake()
    {
        base.Awake();

        effectColor = new Color(249f / 255f, 158f / 255f, 235f / 255f, 1f);

        spawnMgr = GameObject.FindObjectOfType<SpawnManager>();
        selectTab = GameObject.FindObjectOfType<SelectTab>();
    }
Exemple #10
0
 public static void InitializeManager()
 {
     DataMgr = DataManager.GetInstance();
     ObjectMgr = ObjectManager.GetInstance();
     SkillMgr = SkillManager.GetInstance();
     SpawnMgr = SpawnManager.GetInstance();
     SpellMgr = SpellManager.GetInstance();
     WorldMgr = WorldManager.GetInstance();
 }
Exemple #11
0
 // Use this for initialization
 void Start()
 {
     audSource = GameObject.Find("ApplicationGlobal").GetComponent<AudioSource>();
     m_light = GameObject.Find("Directional light").GetComponent<Light>();
     spawnManager = GameObject.Find("SpawnManager").GetComponent<SpawnManager>();
     dragon = Resources.Load<RuntimeAnimatorController>("Animations/Dragon");
     dragonIce = Resources.Load<RuntimeAnimatorController>("Animations/DragonIce");
     dragon2 = Resources.Load<RuntimeAnimatorController>("Animations/Dragon2");
     dragon2Ice = Resources.Load<RuntimeAnimatorController>("Animations/Dragon2Ice");
 }
Exemple #12
0
    void Start()
    {
        scoreManager = this.gameObject.AddComponent<ScoreManager> ();
        scoreManager.initialize (killGoal);

        spawnManager = this.gameObject.AddComponent<SpawnManager> ();
        spawnManager.initialize (players);

        gameOver = false;
    }
 void Start()
 {
     nodeTransform = GameObject.Find("Node1").transform;
     currentNode = nodeTransform.GetComponent<Node>();
     test = GetComponent<LeftRightTest>();
     spawn = parent.GetComponent<SpawnManager>();
     velocityL = leftEngine.GetComponent<RigidbodyInfo>();
     velocityR = rightEngine.GetComponent<RigidbodyInfo>();
     nodeStuffs = GetComponent<NodeRespawn>();
 }
 public static void Initialize()
 {
     Character   = CharacterManager.GetInstance();
     ClientDB    = ClientDBManager.GetInstance();
     GameAccount = GameAccountManager.GetInstance();
     Redirect    = RedirectManager.GetInstance();
     Session     = SessionManager.GetInstance();
     Player      = PlayerManager.GetInstance();
     Spawns      = SpawnManager.GetInstance();
 }
 // Use this for initialization
 void Start()
 {
     if (!gameManager)
     {
         gameManager = GameObject.FindGameObjectWithTag(gameManagerTag); 
         spawnManager = gameManager.GetComponent<SpawnManager>();
     } else
     {
         Debug.LogWarning("Cannot respawn bots without a spawnManagerTag");
     }
 }
 // Use this for initialization
 void Start()
 {
     sm = GameObject.FindGameObjectWithTag ("SpawnManager").GetComponent<SpawnManager> ();
     rb = GetComponent<Rigidbody> ();
     //BhList = new List<IBehaviour> ();
     if (isPlayer) {
         BhList.Add (new PlayerBhv (this, true, PlayerId));
     } else {
         BhList.Add(new Seek(this, sm.TeamList[0][0],true));
     }
     sm.TeamList [Team].Add (gameObject);
 }
Exemple #17
0
 // Use this for initialization
 void Start()
 {
     ScoreKeeper[] scoreKeepers = GameObject.FindObjectsOfType<ScoreKeeper>();
     foreach (ScoreKeeper scoreKeeper in scoreKeepers)
     {
         if (1 == scoreKeeper.teamNumber) { T1ScoreKeeper = scoreKeeper; }
         else if (2 == scoreKeeper.teamNumber) { T2ScoreKeeper = scoreKeeper; }
     }
     spawnManager = FindObjectOfType<SpawnManager>();
     gameManager = FindObjectOfType<GameManager>();
     audioSource = GetComponent<AudioSource>();
 }
Exemple #18
0
 void Start()
 {
     //Gets a reference to game controller so the score can be updated
     GameObject gameControllerObject = GameObject.FindWithTag("GameController");
     if (gameControllerObject != null)
     {
         gameController = gameControllerObject.GetComponent<SpawnManager>();
     }
     if (gameController == null)
     {
         Debug.Log("Cannot find 'GameController' Script");
     }
 }
Exemple #19
0
 public static void InitializeManager()
 {
     ActionMgr         = ActionManager.GetInstance();
     AddonMgr          = AddonManager.GetInstance();
     SkillMgr          = SkillManager.GetInstance();
     SpellMgr          = SpellManager.GetInstance();
     SpecializationMgr = SpecializationManager.GetInstance();
     DataMgr           = DataManager.GetInstance();
     SpawnMgr          = SpawnManager.GetInstance();
     GossipMgr         = GossipManager.GetInstance();
     ObjectMgr         = ObjectManager.GetInstance();
     WorldMgr          = WorldManager.GetInstance();
 }
    void Awake()
    {
        if(instance == null)
        {
            instance = this;
        }
        else if(instance != null)
        {
            Destroy(gameObject);
        }

        

    }
Exemple #21
0
	// Use this for initialization
	void Start () {
		gameManager = GetComponent<GameManager> ();

		// Setup audio listener
		AudioListener.volume = 1.0f;

		//Initalize our game objects
		mainCamera = FindObjectOfType<Camera> ();
		playerManager = this.gameObject.GetComponent<PlayerManager>();
		spawnManager = this.gameObject.GetComponent<SpawnManager>();
		soundManager = this.GetComponent<SoundManager>();

		Initiate ();
	}
Exemple #22
0
    // Use this for initialization
    void Start() {
        ui = GameObject.Find("StatUI").GetComponent<StatUI>();
        spawner = GameObject.Find("SpawnManager").GetComponent<SpawnManager>();
        shooter = GameObject.Find("ProjectileManager").GetComponent<ProjectileManager>();
        player = GameObject.Find("Player").GetComponent<Player>();
        frontInd = transform.Find("LevelIndicator").GetComponent<Text>();
        backInd = transform.Find("LevelIndicatorBack").GetComponent<Text>();
        overlay = transform.Find("Overlay").gameObject;
        fadeImage = overlay.GetComponent<RawImage>();

        player.reset();

        StartCoroutine(startSequence());
    }
Exemple #23
0
    void Start()
    {

        Me = this;
        TerrianManager = transform.FindChild("TerrainManager").GetComponent<TerrianManager>();
        SpawnManager = transform.FindChild("SpawnManager").GetComponent<SpawnManager>();
        TurnManager = transform.FindChild("TurnManager").GetComponent<TurnManager>();
        DamageManager = transform.FindChild("DamageAndScoreManager").GetComponent<DamageManager>();
        ScoreManager = transform.FindChild("DamageAndScoreManager").GetComponent<ScoreManager>();
        DestroyManager = transform.FindChild("DestroyManager").GetComponent<DestroyManager>();
        WeaponManager = transform.FindChild("WeaponsManager").GetComponent<WeaponsCombo>();
        ModesManager = transform.FindChild("ModesManager").GetComponent<ModesCombo>();
        MapsManager = transform.FindChild("MapManager").GetComponent<MapManager>();
        PlayerInfos = SpawnManager.GetComponent<PlayerInfo>();

        MapsManager.StartMap((MapManager.Maps) RoundManager.RandomMap);
        SpawnManager.Spawn(TanksStaringCount);
        TurnManager.Begin();
        Wind.StartWind();
        WeaponsClass.InitiallizeWeaponsQuantities();
        ModesClass.InitiallizeModesQuantities();

#if (!Debug)
        for (int i = 0; i < WeaponsClass.WeaponsQuantities.Count; i++)
            WeaponsClass.WeaponsQuantities[WeaponsClass.WeaponsQuantities.ElementAt(i).Key] = 99;

        for (int i = 0; i < ModesClass.ModesQuantities.Count; i++)
            ModesClass.ModesQuantities[ModesClass.ModesQuantities.ElementAt(i).Key] = 99;
#endif

        PlayerInfos.DrawPlayerInfoInUI_SinglePlayer();



        //begin clouds
        GameObject.Find("Cloud").GetComponent<Cload_Movement>().Begin();
        GameObject.Find("Cloud (1)").GetComponent<Cload_Movement>().Begin();
        GameObject.Find("Cloud (2)").GetComponent<Cload_Movement>().Begin();

        //
        GameObject.Find("UIButtons").GetComponent<UIButtonClick>().InitilizeButtons();

        //show round loadout
        GameObject fade = GameObject.Find("Fade");
        fade.GetComponent<Fade>().ShowLoadout();
        HideHUDS();
    }
    // Use this for initialization
    void Awake()
    {
        var ps = new List<GameObject>();
        ps.Add(breacher);
        ps.Add(sniper);
        spawnManager = new SpawnManager(ps);

        var cs = new List<Character>(ps.Select(x =>
        {
            return x.GetComponent<Character>();
        }));
        foreach (var p in cs)
        {
            Debug.Log(p.playerNumber);
        }
        scoreManager = new ScoreManager(cs, playerOneScore, playerTwoScore);
    }
Exemple #25
0
  void OnEnable() {
    beforeInit();
    spawnManager = gameObject.GetComponent<SpawnManager>();

    if (forceSpawnAtStart) {
      minSpawnInterval = 0;
      maxSpawnInterval = 0;
    }

    if (hasLevel) {
      adjustForLevel(3);
    }

    objPool = new List<GameObject>();
    for (int i = 0; i < objAmount; ++i) {
      GameObject obj = (GameObject) Instantiate(objPrefab);
      obj.SetActive(false);
      obj.transform.parent = transform;
      objPool.Add(obj);
    }

    if (objDestroyEffect != null) {
      objDestroyEffectPool = new List<GameObject>();
      for (int i = 0; i < objAmount; ++i) {
        GameObject obj = (GameObject) Instantiate(objDestroyEffect);
        obj.SetActive(false);
        objDestroyEffectPool.Add(obj);
      }
    }

    if (objEncounterEffect != null) {
      objEncounterEffectPool = new List<GameObject>();
      for (int i = 0; i < objAmount; ++i) {
        GameObject obj = (GameObject) Instantiate(objEncounterEffect);
        obj.SetActive(false);
        objEncounterEffectPool.Add(obj);
      }
    }

    initRest();
  }
    // Use this for initialization
    void Start()
    {
        minX = Camera.main.ScreenToWorldPoint(new Vector3(0, 0, 0)).x;
        maxX = Camera.main.ScreenToWorldPoint(new Vector3(Screen.width, 0, 0)).x;

        renderer = GetComponent<SpriteRenderer>();
        spriteColorR = 255;
        spriteColorG = 255;
        spriteColorB = 255;

        transform.position = new Vector3(transform.position.x, transform.position.y, 0);
        nextPosition = transform.position;
        spawnManager = SpawnManager.instance;
        invaderManager = InvaderManager.instance;
    }
Exemple #27
0
 private void Awake()
 {
     selectTab = FindObjectOfType<SelectTab>();
     spawnMgr = FindObjectOfType<SpawnManager>();
 }
Exemple #28
0
    private void Start()
    {
        SpawnManager spawnManager = FindObjectOfType <SpawnManager>();

        spawnManager.notifyRespawnObservers += OnRespawn; // observation handler registration
    }
Exemple #29
0
 public void Set(GameObject mainGO)
 {
     spawnManager = mainGO.GetComponent <SpawnManager>();
 }
Exemple #30
0
 /// <summary>
 /// Unspawns this GameObject and destroys it for other clients. This should be used if the object should be kept on the server
 /// </summary>
 public void UnSpawn()
 {
     SpawnManager.UnSpawnObject(this);
 }
Exemple #31
0
 /// <summary>
 /// Changes the owner of the object. Can only be called from server
 /// </summary>
 /// <param name="newOwnerClientId">The new owner clientId</param>
 public void ChangeOwnership(ulong newOwnerClientId)
 {
     SpawnManager.ChangeOwnership(this, newOwnerClientId);
 }
Exemple #32
0
 public override void OnDisable()
 {
     localInstance = null;
 }
 // Start is called before the first frame update
 void Start()
 {
     _spawnManager = GameObject.Find("SpawnManager").GetComponent <SpawnManager>();
 }
 public float rand   = 10f; //스폰 장소를 기준으로 생성되는 랜덤거리 조절
 // Start is called before the first frame update
 void Update()
 {
     SpawnNum = SpawnManager.SpawnGargoyle(this.gameObject, SpawnNum, rand);
 }
Exemple #35
0
 private void Start()
 {
     _rotateSpeed  = 20.0f;
     _spawnManager = GameObject.Find("SpawnManager").GetComponent <SpawnManager>();
 }
 private void Start()
 {
     _spawnManager = FindObjectOfType <SpawnManager>();
     _UIManager    = FindObjectOfType <UIManager>();
 }
Exemple #37
0
 void Awake()
 {
     Instance = this;
 }
    // Start is called before the first frame update
    void Start()
    {
        _player = GameObject.Find("Player").GetComponent <Player>();

        if (_player == null)
        {
            Debug.LogError("Player is NULL!");
        }

        _spawnManager = GameObject.Find("Spawn_Manager").GetComponent <SpawnManager>();

        if (_spawnManager == null)
        {
            Debug.LogError("SpawnManager is NULL!");
        }

        _animator = transform.GetComponent <Animator>();

        if (_animator == null)
        {
            Debug.Log("Animator is null!");
        }

        _audioSource = transform.GetComponent <AudioSource>();

        if (_audioSource == null)
        {
            Debug.Log("audioSource null!");
        }

        _material = transform.GetComponent <SpriteRenderer>().material;

        if (_material == null)
        {
            Debug.LogError("Material is NULL!");
        }

        _health = Random.Range(1, 5);

        _cameraShake = GameObject.Find("Main Camera").GetComponent <CameraShake>();

        if (_cameraShake == null)
        {
            Debug.Log("Camera shake is null!");
        }

        _shieldBreakEffect = transform.GetComponentInChildren <ParticleSystem>();
        if (_shieldBreakEffect == null)
        {
            Debug.LogError("Shield Break Effect is NULL!");
        }

        _fireRateDelay = new WaitForSeconds(_fireRate);

        _speed = Random.Range((_speed - 0.5f), (_speed + 0.5f));

        switch (difficulty)
        {
        case 0:
            _movementRandomizer = 0;
            break;

        case 1:
            _movementRandomizer = 0;
            break;

        case 2:
            _movementRandomizer = Random.Range(0, 4);

            _isShootingEnemy = true;
            StartCoroutine(FireLaserSequence());
            break;

        case 3:
            _movementRandomizer = Random.Range(0, 4);

            _isShootingEnemy = true;
            StartCoroutine(FireLaserSequence());

            /*if (RandomOutOf(3))
             * {
             *  _shield.SetActive(true);
             *  _shieldActive = true;
             * }
             */

            if (RandomOutOf(2))
            {
                _canRamPlayer = true;
            }

            break;

        case 4:
            _movementRandomizer = Random.Range(0, 4);

            _isShootingEnemy = true;
            StartCoroutine(FireLaserSequence());

            /*
             * if (RandomOutOf(3))
             * {
             *  _shield.SetActive(true);
             *  _shieldActive = true;
             * }
             */

            if (RandomOutOf(2))
            {
                _canRamPlayer = true;
            }

            if (RandomOutOf(2))
            {
                _canShootFromBehind = true;
            }

            if (_movementRandomizer == 0)
            {
                _canDodgeLaser = true;
            }
            break;

        case 5:
            _movementRandomizer = Random.Range(0, 4);

            _isShootingEnemy = true;
            StartCoroutine(FireLaserSequence());

            if (RandomOutOf(3))
            {
                _shield.SetActive(true);
                _shieldActive = true;
            }

            if (RandomOutOf(2))
            {
                _canRamPlayer = true;
            }

            if (RandomOutOf(2))
            {
                _canShootFromBehind = true;
            }

            if (_movementRandomizer == 0)
            {
                _canDodgeLaser = true;
            }
            break;

        case 7:
            _enemyType          = EnemyType.Stalker;
            _movementRandomizer = 4;
            _health             = 5;
            _material.SetColor("_Color", _stalkerColor);
            break;

        default:
            _movementRandomizer = 0;
            break;
        }

        switch (_movementRandomizer)
        {
        case 0:
            _movementType = MovementType.Down;
            break;

        case 1:
            _movementType = MovementType.Left;
            break;

        case 2:
            _movementType = MovementType.Right;
            break;

        case 3:
            _movementType = MovementType.Down;
            break;

        case 4:
            _movementType = MovementType.Teleport;
            StartCoroutine(Teleport());
            break;

        default:
            _movementType = MovementType.Down;
            break;
        }
    }
Exemple #39
0
 void Awake()
 {
     instance = this;
 }
Exemple #40
0
 GameObject[] BlankSpaces;            // Reference to Spaces where towers can be added
 private void Start()
 {
     //Making SpawnManager singleton
     Instance = this;
 }
 // Token: 0x060048A1 RID: 18593 RVA: 0x00179164 File Offset: 0x00177364
 public override ContinuousBehaviorResult ContinuousUpdate()
 {
     for (int i = this.m_bulletPositions.Count - 1; i >= 0; i--)
     {
         float num = this.m_bulletPositions[i].Second + this.m_deltaTime * (float)this.BulletCircleSpeed;
         this.m_bulletPositions[i].Second = num;
         Projectile first = this.m_bulletPositions[i].First;
         if (!(first == null))
         {
             if (!first)
             {
                 this.m_bulletPositions[i] = null;
             }
             else
             {
                 Vector2 bulletPosition = this.GetBulletPosition(num);
                 first.specRigidbody.Velocity = (bulletPosition.ToVector3XUp() - first.transform.position) / BraveTime.DeltaTime;
                 if (first.shouldRotate)
                 {
                     first.transform.rotation = Quaternion.Euler(0f, 0f, 180f + (Quaternion.Euler(0f, 0f, 90f) * (this.ShootPoint.position.XY() - bulletPosition)).XY().ToAngle());
                 }
                 first.ResetDistance();
             }
         }
     }
     if (this.State == WizardSpinShootBehavior2.SpinShootState.Spawn)
     {
         while (this.m_stateTimer <= 0f && this.State == WizardSpinShootBehavior2.SpinShootState.Spawn)
         {
             AIBulletBank.Entry bullet       = (EnemyDatabase.GetOrLoadByGuid("c4fba8def15e47b297865b18e36cbef8").bulletBank.GetBullet("default"));
             GameObject         bulletObject = bullet.BulletObject;
             float num2 = 0f;
             if (this.m_bulletPositions.Count > 0)
             {
                 num2 = BraveMathCollege.ClampAngle360(this.m_bulletPositions[this.m_bulletPositions.Count - 1].Second - this.BulletAngleDelta);
             }
             GameObject gameObject = SpawnManager.SpawnProjectile(bulletObject, this.GetBulletPosition(num2), Quaternion.Euler(0f, 0f, 0f), true);
             Projectile component  = gameObject.GetComponent <Projectile>();
             if (bullet != null && bullet.OverrideProjectile)
             {
                 component.baseData.SetAll(bullet.ProjectileData);
             }
             component.Shooter = this.m_aiActor.specRigidbody;
             component.specRigidbody.Velocity           = Vector2.zero;
             component.ManualControl                    = true;
             component.specRigidbody.CollideWithTileMap = false;
             component.collidesWithEnemies              = this.m_isCharmed;
             component.UpdateCollisionMask();
             this.m_bulletPositions.Add(Tuple.Create <Projectile, float>(component, num2));
             this.m_stateTimer += this.SpawnDelay;
             if (this.m_bulletPositions.Count >= this.NumBullets)
             {
                 this.bottleowhiskey(SpinShootState.Prefire);
             }
         }
     }
     else if (this.State == WizardSpinShootBehavior2.SpinShootState.Prefire)
     {
         if (this.m_stateTimer <= 0f)
         {
             this.bottleowhiskey(SpinShootState.Fire);
         }
     }
     else if (this.State == WizardSpinShootBehavior2.SpinShootState.Fire)
     {
         if (this.m_behaviorSpeculator.TargetBehaviors != null && this.m_behaviorSpeculator.TargetBehaviors.Count > 0)
         {
             this.m_behaviorSpeculator.TargetBehaviors[0].Update();
         }
         if (this.m_bulletPositions.All((Tuple <Projectile, float> t) => t.First == null))
         {
             return(ContinuousBehaviorResult.Finished);
         }
         while (this.m_stateTimer <= 0f)
         {
             Vector2 vector = this.ShootPoint.position.XY();
             Vector2 b      = vector + ((!this.m_aiActor.TargetRigidbody) ? Vector2.zero : (this.m_aiActor.TargetRigidbody.UnitCenter - vector)).normalized * this.BulletCircleRadius;
             int     num3   = -1;
             float   num4   = float.MaxValue;
             for (int j = 0; j < this.m_bulletPositions.Count; j++)
             {
                 Projectile first2 = this.m_bulletPositions[j].First;
                 if (!(first2 == null))
                 {
                     float sqrMagnitude = (first2.specRigidbody.UnitCenter - b).sqrMagnitude;
                     if (sqrMagnitude < num4)
                     {
                         num4 = sqrMagnitude;
                         num3 = j;
                     }
                 }
             }
             if (num3 >= 0)
             {
                 Projectile first3 = this.m_bulletPositions[num3].First;
                 first3.ManualControl = false;
                 first3.specRigidbody.CollideWithTileMap = true;
                 if (this.m_aiActor.TargetRigidbody)
                 {
                     Vector2 unitCenter = this.m_aiActor.TargetRigidbody.specRigidbody.GetUnitCenter(ColliderType.HitBox);
                     float   speed      = first3.Speed;
                     float   d          = Vector2.Distance(first3.specRigidbody.UnitCenter, unitCenter) / speed;
                     Vector2 b2         = unitCenter + this.m_aiActor.TargetRigidbody.specRigidbody.Velocity * d;
                     Vector2 a          = Vector2.Lerp(unitCenter, b2, this.LeadAmount);
                     first3.SendInDirection(a - first3.specRigidbody.UnitCenter, true, true);
                 }
                 first3.transform.rotation          = Quaternion.Euler(0f, 0f, first3.specRigidbody.Velocity.ToAngle());
                 this.m_bulletPositions[num3].First = null;
             }
             else
             {
                 Debug.LogError("WizardSpinShootBehaviour.ContinuousUpdate(): This shouldn't happen!");
             }
             this.m_stateTimer += this.FireDelay;
             if (this.m_bulletPositions.All((Tuple <Projectile, float> t) => t.First == null))
             {
                 return(ContinuousBehaviorResult.Finished);
             }
         }
     }
     return(ContinuousBehaviorResult.Continue);
 }
Exemple #42
0
    void Start()
    {
        GameObject Enemy;
        GameObject Weapon;
        GameObject Shield = null;

        GameObject[] Weapons;
        float        time  = .1f;
        List <float> times = new List <float>();

        EnemyGroup[] cpus = GetComponents <EnemyGroup>();
        for (int i = 0; i < cpus.Length; i++)
        {
            times.Add(i * 1.2f);
        }
        foreach (EnemyGroup e in cpus)
        {
            Enemy = Instantiate(e.Enemy, e.pos, Quaternion.identity) as GameObject;
            AIController Unit = Enemy.GetComponentInChildren <AIController>();
            Unit.GetComponent <SphereCollider>().radius += radius_offset;
            Enemy.layer           = (int)e.cpu_layer;
            Unit.gameObject.layer = LayerMask.NameToLayer(
                LayerMask.LayerToName(Enemy.layer)
                + "Detection");
            Enemy.GetComponentsInChildren <Renderer>()[1].material.color
                = SpawnManager.GetTeamColor(Enemy.layer, .5f);
            StartCoroutine(Unit.SetState(e.AISetting));
            if (e.can_block)
            {
                Shield      = Instantiate(Resources.Load("Bronze Shield"), e.pos, Quaternion.identity) as GameObject;
                Unit.Shield = Shield;
                NetworkServer.Spawn(Shield);
            }
            Unit.can_dodge = e.can_dodge;
            Gun gun;
            Weapons = new GameObject[e.Gun.Length];
            int i = 0;
            foreach (GameObject g in e.Gun)
            {
                Weapon = Instantiate(g, e.pos, Quaternion.identity) as GameObject;
                NetworkServer.Spawn(Weapon);
                gun = Weapon.GetComponent <Gun>();
                gun.SetBaseStats(LayerMask.LayerToName(Enemy.layer));
                gun.barrel_end = Weapon.transform.GetChild(0);
                Weapons[i]     = Weapon;
                Unit.weapons.Add(gun);
                Unit.attack_func_indexes.Add((int)e.AttackSettings[i]);
                gun.level = e.weapon_levels[i];
                AddLevel(Unit, gun);
                i++;
            }
            Unit.movement_func_index = (int)e.MovementSetting;
            Unit.main_gun            = Weapons[0].GetComponent <Gun>();
            Unit.GetComponentInParent <HealthDefence>().Controller = Unit;
            int index = rand.Next(times.Count);
            Unit.time_until_next_pathfind = times[index];
            times.RemoveAt(index);
            NetworkServer.Spawn(Enemy);
            StartCoroutine(WaitForMethodsRef(Enemy, Weapons, Unit.Shield, Enemy.layer));
            Unit.weapons.RemoveNull();
        }
        if (watch_only)
        {
            StartCoroutine(WatchOnly());
        }
    }
Exemple #43
0
 private void Awake()
 {
     instance = this;
 }
 private void Awake()
 {
     Get = this;
 }
Exemple #45
0
 /// <summary>
 /// Removes all ownership of an object from any client. Can only be called from server
 /// </summary>
 public void RemoveOwnership()
 {
     SpawnManager.RemoveOwnership(this);
 }
Exemple #46
0
 private void Awake()
 {
     _instance = this;   //单例模式赋值
 }
Exemple #47
0
 void Start()
 {
     transform.position = new Vector3(0, 0, 0);
     _spawnManager      = GameObject.Find("Spawn Manager").GetComponent <SpawnManager>();
 }
Exemple #48
0
 // Use this for initialization
 void Start()
 {
     //El punto de spawn se suscribe en la lista.
     SpawnManager.GetInstance().NewSpawnPoint(gameObject);
 }
Exemple #49
0
        private void PostProcessProjectile(Projectile sourceProjectile, float effectChanceScalar)
        {
            if (sourceProjectile.GetComponent <MoonrockProjectile>())
            {
                return;
            }
            if (sourceProjectile is InstantDamageOneEnemyProjectile)
            {
                return;
            }
            if (sourceProjectile is InstantlyDamageAllProjectile)
            {
                return;
            }
            if (sourceProjectile.GetComponent <ArtfulDodgerProjectileController>())
            {
                return;
            }

            PlayerController owner = sourceProjectile.ProjectilePlayerOwner();

            int amtOfOrbiters = UnityEngine.Random.Range(0, 4);

            if (amtOfOrbiters > 0)
            {
                for (int i = 0; i < amtOfOrbiters; i++)
                {
                    GameObject gameObject = SpawnManager.SpawnProjectile(moonrockProjectile.gameObject, sourceProjectile.sprite.WorldCenter, Quaternion.Euler(0f, 0f, (base.Owner.CurrentGun == null) ? 0f : base.Owner.CurrentGun.CurrentAngle), true);
                    Projectile component  = gameObject.GetComponent <Projectile>();
                    if (component != null)
                    {
                        component.Owner            = owner;
                        component.Shooter          = owner.specRigidbody;
                        component.baseData.damage *= owner.stats.GetStatValue(PlayerStats.StatType.Damage);
                        component.baseData.speed  *= owner.stats.GetStatValue(PlayerStats.StatType.ProjectileSpeed);
                        component.baseData.force  *= owner.stats.GetStatValue(PlayerStats.StatType.KnockbackMultiplier);
                        component.UpdateSpeed();

                        component.specRigidbody.CollideWithTileMap = true;

                        BulletLifeTimer timer = component.gameObject.GetOrAddComponent <BulletLifeTimer>();
                        timer.secondsTillDeath = 30f;

                        OrbitProjectileMotionModule orbitProjectileMotionModule = new OrbitProjectileMotionModule();
                        orbitProjectileMotionModule.lifespan  = 50;
                        orbitProjectileMotionModule.MinRadius = 0.5f;
                        orbitProjectileMotionModule.MaxRadius = 2;
                        orbitProjectileMotionModule.usesAlternateOrbitTarget = true;
                        orbitProjectileMotionModule.OrbitGroup           = -5;
                        orbitProjectileMotionModule.alternateOrbitTarget = sourceProjectile.specRigidbody;
                        if (component.OverrideMotionModule != null && component.OverrideMotionModule is HelixProjectileMotionModule)
                        {
                            orbitProjectileMotionModule.StackHelix  = true;
                            orbitProjectileMotionModule.ForceInvert = (component.OverrideMotionModule as HelixProjectileMotionModule).ForceInvert;
                        }
                        component.OverrideMotionModule = orbitProjectileMotionModule;

                        component.gameObject.GetOrAddComponent <MoonrockProjectile>();

                        owner.DoPostProcessProjectile(component);
                    }
                }
            }
        }
        public void GoTo(Client player, string type, int id)
        {
            if (!AdminController.AdminRankCheck(player, "goto"))
            {
                return;
            }

            player.dimension = 0;
            switch (type)
            {
            case "property":
                var propertyController = EntityManager.GetProperty(id);
                if (propertyController == null)
                {
                    API.sendNotificationToPlayer(player, "~r~[ОШИБКА]: ~w~Вы ввели неверный ID!");
                }
                else
                {
                    player.position = new Vector3(propertyController.PropertyData.ExtPosX,
                                                  propertyController.PropertyData.ExtPosY,
                                                  propertyController.PropertyData.ExtPosZ);
                }
                break;

            case "job":
                var job = EntityManager.GetJob(id);
                if (job == null)
                {
                    API.sendNotificationToPlayer(player, "~r~[ОШИБКА]: ~w~Вы ввели неверный ID!");
                }
                else
                {
                    player.position = new Vector3(job.JobData.PosX, job.JobData.PosY, job.JobData.PosZ);
                }
                break;

            case "place":
                player.dimension = 0;
                switch (id)
                {
                case 0: player.position = SpawnManager.GetSpawnPosition();
                    player.dimension    = SpawnManager.GetSpawnDimension(); break;

                case 1: API.setEntityPosition(player, new Vector3(-365.425, -131.809, 37.873)); break;

                case 2: API.setEntityPosition(player, new Vector3(-2023.661, -1038.038, 5.577)); break;

                case 3: API.setEntityPosition(player, new Vector3(3069.330, -4704.220, 15.043)); break;

                case 4: API.setEntityPosition(player, new Vector3(2052.000, 3237.000, 1456.973)); break;

                case 5: API.setEntityPosition(player, new Vector3(-129.964, 8130.873, 6705.307)); break;

                case 6: API.setEntityPosition(player, new Vector3(134.085, -637.859, 262.851)); break;

                case 7: API.setEntityPosition(player, new Vector3(150.126, -754.591, 262.865)); break;

                case 8: API.setEntityPosition(player, new Vector3(-75.015, -818.215, 326.176)); break;

                case 9: API.setEntityPosition(player, new Vector3(450.718, 5566.614, 806.183)); break;

                case 10: API.setEntityPosition(player, new Vector3(24.775, 7644.102, 19.055)); break;

                case 11: API.setEntityPosition(player, new Vector3(686.245, 577.950, 130.461)); break;

                case 12: API.setEntityPosition(player, new Vector3(205.316, 1167.378, 227.005)); break;

                case 13: API.setEntityPosition(player, new Vector3(-20.004, -10.889, 500.602)); break;

                case 14: API.setEntityPosition(player, new Vector3(-438.804, 1076.097, 352.411)); break;

                case 15: API.setEntityPosition(player, new Vector3(-2243.810, 264.048, 174.615)); break;

                case 16: API.setEntityPosition(player, new Vector3(-3426.683, 967.738, 8.347)); break;

                case 17: API.setEntityPosition(player, new Vector3(-275.522, 6635.835, 7.425)); break;

                case 18: API.setEntityPosition(player, new Vector3(-1006.402, 6272.383, 1.503)); break;

                case 19: API.setEntityPosition(player, new Vector3(-517.869, 4425.284, 89.795)); break;

                case 20: API.setEntityPosition(player, new Vector3(-1170.841, 4926.646, 224.295)); break;

                case 21: API.setEntityPosition(player, new Vector3(-324.300, -1968.545, 67.002)); break;

                case 22: API.setEntityPosition(player, new Vector3(-1868.971, 2095.674, 139.115)); break;

                case 23: API.setEntityPosition(player, new Vector3(2476.712, 3789.645, 41.226)); break;

                case 24: API.setEntityPosition(player, new Vector3(-2639.872, 1866.812, 160.135)); break;

                case 25: API.setEntityPosition(player, new Vector3(-595.342, 2086.008, 131.412)); break;

                case 26: API.setEntityPosition(player, new Vector3(2208.777, 5578.235, 53.735)); break;

                case 27: API.setEntityPosition(player, new Vector3(126.975, 3714.419, 46.827)); break;

                case 28: API.setEntityPosition(player, new Vector3(2395.096, 3049.616, 60.053)); break;

                case 29: API.setEntityPosition(player, new Vector3(2034.988, 2953.105, 74.602)); break;

                case 30: API.setEntityPosition(player, new Vector3(2062.123, 2942.055, 47.431)); break;

                case 31: API.setEntityPosition(player, new Vector3(2026.677, 1842.684, 133.313)); break;

                case 32: API.setEntityPosition(player, new Vector3(1051.209, 2280.452, 89.727)); break;

                case 33: API.setEntityPosition(player, new Vector3(736.153, 2583.143, 79.634)); break;

                case 34: API.setEntityPosition(player, new Vector3(2954.196, 2783.410, 41.004)); break;

                case 35: API.setEntityPosition(player, new Vector3(2732.931, 1577.540, 83.671)); break;

                case 36: API.setEntityPosition(player, new Vector3(486.417, -3339.692, 6.070)); break;

                case 37: API.setEntityPosition(player, new Vector3(899.678, -2882.191, 19.013)); break;

                case 38: API.setEntityPosition(player, new Vector3(-1850.127, -1231.751, 13.017)); break;

                case 39: API.setEntityPosition(player, new Vector3(-1475.234, 167.088, 55.841)); break;

                case 40: API.setEntityPosition(player, new Vector3(3059.620, 5564.246, 197.091)); break;

                case 41: API.setEntityPosition(player, new Vector3(2535.243, -383.799, 92.993)); break;

                case 42: API.setEntityPosition(player, new Vector3(971.245, -1620.993, 30.111)); break;

                case 43: API.setEntityPosition(player, new Vector3(293.089, 180.466, 104.301)); break;

                case 44: API.setEntityPosition(player, new Vector3(-1374.881, -1398.835, 6.141)); break;

                case 45: API.setEntityPosition(player, new Vector3(718.341, -1218.714, 26.014)); break;

                case 46: API.setEntityPosition(player, new Vector3(925.329, 46.152, 80.908)); break;

                case 47: API.setEntityPosition(player, new Vector3(-1696.866, 142.747, 64.372)); break;

                case 48: API.setEntityPosition(player, new Vector3(-543.932, -2225.543, 122.366)); break;

                case 49: API.setEntityPosition(player, new Vector3(1660.369, -12.013, 170.020)); break;

                case 50: API.setEntityPosition(player, new Vector3(2877.633, 5911.078, 369.624)); break;

                case 51: API.setEntityPosition(player, new Vector3(-889.655, -853.499, 20.566)); break;

                case 52: API.setEntityPosition(player, new Vector3(-695.025, 82.955, 55.855)); break;

                case 53: API.setEntityPosition(player, new Vector3(-1330.911, 340.871, 64.078)); break;

                case 54: API.setEntityPosition(player, new Vector3(711.362, 1198.134, 348.526)); break;

                case 55: API.setEntityPosition(player, new Vector3(-1336.715, 59.051, 55.246)); break;

                case 56: API.setEntityPosition(player, new Vector3(-31.010, 6316.830, 40.083)); break;

                case 57: API.setEntityPosition(player, new Vector3(-635.463, -242.402, 38.175)); break;

                case 58: API.setEntityPosition(player, new Vector3(-3022.222, 39.968, 13.611)); break;

                case 59: API.setEntityPosition(player, new Vector3(-1659993, -128.399, 59.954)); break;

                case 60: API.setEntityPosition(player, new Vector3(-549.467, 5308.221, 114.146)); break;

                case 61: API.setEntityPosition(player, new Vector3(1070.206, -711.958, 58.483)); break;

                case 62: API.setEntityPosition(player, new Vector3(1608.698, 6438.096, 37.637)); break;

                case 63: API.setEntityPosition(player, new Vector3(3430.155, 5174.196, 41.280)); break;

                case 64: API.setEntityPosition(player, new Vector3(3464.689, 5252.736, 20.29798)); break;

                // Prison:
                case 65: API.setEntityPosition(player, new Vector3(1675.97961, 2585.18457, 45.92)); break;

                // Ballas:
                case 70: API.setEntityPosition(player, new Vector3(107.4711, -1942.032, 20.3)); break;

                // AutoSchool:
                case 71: API.setEntityPosition(player, new Vector3(-1081.233, -1259.916, 5.3)); break;

                // Goverment:
                case 72: API.setEntityPosition(player, new Vector3(106.7145, -933.4711, 29.3)); break;

                // FBI LOBBY:
                case 73: API.setEntityPosition(player, new Vector3(110.4, -744.2, 45.7496)); break;

                // 1st work:
                case 74: API.setEntityPosition(player, new Vector3(-163.145, -940.611, 29.3)); break;

                // 2nd work:
                case 75: API.setEntityPosition(player, new Vector3(853.3, -2927.611, 6.1)); break;

                // Army 2:
                case 76: API.setEntityPosition(player, new Vector3(-1869.72, 2998.29, 32.8105)); break;

                // BusStation:
                case 77: API.setEntityPosition(player, new Vector3(-831.386, -2350.93, 14.5706)); break;

                // Taxi station:
                case 78: API.setEntityPosition(player, new Vector3(-765.6371, -2058.967, 9.5706)); break;

                // Ballas GasStation:
                case 79: API.setEntityPosition(player, new Vector3(-49.0201, -1757.64, 29.421)); break;

                // Army 1:
                case 80: API.setEntityPosition(player, new Vector3(840.3792, -2118.969, 28.85884)); break;
                }
                break;

            default: return;
            }
        }
Exemple #51
0
 // Start is called before the first frame update
 void Start()
 {
     playerControllerScript = GameObject.Find("Player").GetComponent <PlayerContoller>();
     spawn = GameObject.Find("SpawnManager").GetComponent <SpawnManager>();
     // find the player in the scene by it's name and retrieve its script
 }
Exemple #52
0
 // Start is called before the first frame update
 void Start()
 {
     groundSpawner = GetComponent <SpawnManager>();
 }
Exemple #53
0
    // ------------------------------------------------------------------ 
    // Desc: 
    // ------------------------------------------------------------------ 

    void Awake () {
        if( spawnManager == null ) {
            spawnManager = this;

            // init spawn manager.
            for ( int i = 0; i < pools.Length; ++i ) {
                pools[i].init();
                gameobjLookupTable[pools[i].prefab] = pools[i];
            }
            pools = null;
        }
    }
Exemple #54
0
        private static void OnSceneUnloadServer(Guid switchSceneGuid)
        {
            // Justification: Rare alloc, could(should?) reuse
            List <NetworkedObject> newSceneObjects = new List <NetworkedObject>();

            {
                NetworkedObject[] networkedObjects = MonoBehaviour.FindObjectsOfType <NetworkedObject>();

                for (int i = 0; i < networkedObjects.Length; i++)
                {
                    if (networkedObjects[i].IsSceneObject == null)
                    {
                        SpawnManager.SpawnNetworkedObjectLocally(networkedObjects[i], SpawnManager.GetNetworkObjectId(), true, false, null, null, false, 0, false, true);

                        newSceneObjects.Add(networkedObjects[i]);
                    }
                }
            }


            for (int j = 0; j < NetworkingManager.Singleton.ConnectedClientsList.Count; j++)
            {
                if (NetworkingManager.Singleton.ConnectedClientsList[j].ClientId != NetworkingManager.Singleton.ServerClientId)
                {
                    using (PooledBitStream stream = PooledBitStream.Get())
                    {
                        using (PooledBitWriter writer = PooledBitWriter.Get(stream))
                        {
                            writer.WriteUInt32Packed(CurrentActiveSceneIndex);
                            writer.WriteByteArray(switchSceneGuid.ToByteArray());

                            uint sceneObjectsToSpawn = 0;
                            for (int i = 0; i < newSceneObjects.Count; i++)
                            {
                                if (newSceneObjects[i].observers.Contains(NetworkingManager.Singleton.ConnectedClientsList[j].ClientId))
                                {
                                    sceneObjectsToSpawn++;
                                }
                            }

                            writer.WriteUInt32Packed(sceneObjectsToSpawn);

                            for (int i = 0; i < newSceneObjects.Count; i++)
                            {
                                if (newSceneObjects[i].observers.Contains(NetworkingManager.Singleton.ConnectedClientsList[j].ClientId))
                                {
                                    if (NetworkingManager.Singleton.NetworkConfig.UsePrefabSync)
                                    {
                                        writer.WriteBool(newSceneObjects[i].IsPlayerObject);
                                        writer.WriteUInt64Packed(newSceneObjects[i].NetworkId);
                                        writer.WriteUInt64Packed(newSceneObjects[i].OwnerClientId);

                                        writer.WriteUInt64Packed(newSceneObjects[i].PrefabHash);

                                        writer.WriteSinglePacked(newSceneObjects[i].transform.position.x);
                                        writer.WriteSinglePacked(newSceneObjects[i].transform.position.y);
                                        writer.WriteSinglePacked(newSceneObjects[i].transform.position.z);

                                        writer.WriteSinglePacked(newSceneObjects[i].transform.rotation.eulerAngles.x);
                                        writer.WriteSinglePacked(newSceneObjects[i].transform.rotation.eulerAngles.y);
                                        writer.WriteSinglePacked(newSceneObjects[i].transform.rotation.eulerAngles.z);

                                        if (NetworkingManager.Singleton.NetworkConfig.EnableNetworkedVar)
                                        {
                                            newSceneObjects[i].WriteNetworkedVarData(stream, NetworkingManager.Singleton.ConnectedClientsList[j].ClientId);
                                        }
                                    }
                                    else
                                    {
                                        writer.WriteBool(newSceneObjects[i].IsPlayerObject);
                                        writer.WriteUInt64Packed(newSceneObjects[i].NetworkId);
                                        writer.WriteUInt64Packed(newSceneObjects[i].OwnerClientId);

                                        writer.WriteUInt64Packed(newSceneObjects[i].NetworkedInstanceId);

                                        if (NetworkingManager.Singleton.NetworkConfig.EnableNetworkedVar)
                                        {
                                            newSceneObjects[i].WriteNetworkedVarData(stream, NetworkingManager.Singleton.ConnectedClientsList[j].ClientId);
                                        }
                                    }
                                }
                            }
                        }

                        InternalMessageSender.Send(NetworkingManager.Singleton.ConnectedClientsList[j].ClientId, MLAPIConstants.MLAPI_SWITCH_SCENE, "MLAPI_INTERNAL", stream, SecuritySendFlags.None, null);
                    }
                }
            }

            //Tell server that scene load is completed
            if (NetworkingManager.Singleton.IsHost)
            {
                OnClientSwitchSceneCompleted(NetworkingManager.Singleton.LocalClientId, switchSceneGuid);
            }

            isSwitching = false;

            if (OnSceneSwitched != null)
            {
                OnSceneSwitched();
            }
        }
Exemple #55
0
 void Awake()
 {
     sm = this;
 }
Exemple #56
0
        private static void OnSceneUnloadClient(Guid switchSceneGuid, Stream objectStream)
        {
            if (NetworkingManager.Singleton.NetworkConfig.UsePrefabSync)
            {
                SpawnManager.DestroySceneObjects();

                using (PooledBitReader reader = PooledBitReader.Get(objectStream))
                {
                    uint newObjectsCount = reader.ReadUInt32Packed();

                    for (int i = 0; i < newObjectsCount; i++)
                    {
                        bool  isPlayerObject = reader.ReadBool();
                        ulong networkId      = reader.ReadUInt64Packed();
                        ulong owner          = reader.ReadUInt64Packed();

                        ulong prefabHash = reader.ReadUInt64Packed();

                        Vector3    position = new Vector3(reader.ReadSinglePacked(), reader.ReadSinglePacked(), reader.ReadSinglePacked());
                        Quaternion rotation = Quaternion.Euler(reader.ReadSinglePacked(), reader.ReadSinglePacked(), reader.ReadSinglePacked());

                        NetworkedObject networkedObject = SpawnManager.CreateLocalNetworkedObject(false, 0, prefabHash, position, rotation);
                        SpawnManager.SpawnNetworkedObjectLocally(networkedObject, networkId, true, isPlayerObject, owner, objectStream, false, 0, true, false);
                    }
                }
            }
            else
            {
                NetworkedObject[] networkedObjects = MonoBehaviour.FindObjectsOfType <NetworkedObject>();

                SpawnManager.ClientCollectSoftSyncSceneObjectSweep(networkedObjects);

                using (PooledBitReader reader = PooledBitReader.Get(objectStream))
                {
                    uint newObjectsCount = reader.ReadUInt32Packed();

                    for (int i = 0; i < newObjectsCount; i++)
                    {
                        bool  isPlayerObject = reader.ReadBool();
                        ulong networkId      = reader.ReadUInt64Packed();
                        ulong owner          = reader.ReadUInt64Packed();

                        ulong instanceId = reader.ReadUInt64Packed();

                        NetworkedObject networkedObject = SpawnManager.CreateLocalNetworkedObject(true, instanceId, 0, null, null);
                        SpawnManager.SpawnNetworkedObjectLocally(networkedObject, networkId, true, isPlayerObject, owner, objectStream, false, 0, true, false);
                    }
                }
            }

            using (PooledBitStream stream = PooledBitStream.Get())
            {
                using (PooledBitWriter writer = PooledBitWriter.Get(stream))
                {
                    writer.WriteByteArray(switchSceneGuid.ToByteArray());
                    NetworkedObject networkedObject = null;
                    InternalMessageSender.Send(NetworkingManager.Singleton.ServerClientId, MLAPIConstants.MLAPI_CLIENT_SWITCH_SCENE_COMPLETED, "MLAPI_INTERNAL", stream, SecuritySendFlags.None, networkedObject);
                }
            }

            isSwitching = false;

            if (OnSceneSwitched != null)
            {
                OnSceneSwitched();
            }
        }
 // Use this for initialization
 void Start()
 {
     spawnManager = GameObject.Find("Bullets").GetComponent <SpawnManager>();
     wingFlapping = false;
     jumping      = false;
 }
Exemple #58
0
    //variables

    // Start is called before the first frame update
    void Start()
    {
        spawnVar = GameObject.Find("SpawnManager").GetComponent <SpawnManager>();
        Sun      = GameObject.Find("Sun");
    }
        internal static void HandleConnectionApproved(ulong clientId, Stream stream, float receiveTime)
        {
            using (PooledBitReader reader = PooledBitReader.Get(stream))
            {
                NetworkingManager.Singleton.LocalClientId = reader.ReadUInt64Packed();

                uint sceneIndex = 0;
                Guid sceneSwitchProgressGuid = new Guid();

                if (NetworkingManager.Singleton.NetworkConfig.EnableSceneManagement)
                {
                    sceneIndex = reader.ReadUInt32Packed();
                    sceneSwitchProgressGuid = new Guid(reader.ReadByteArray());
                }

                bool sceneSwitch = NetworkingManager.Singleton.NetworkConfig.EnableSceneManagement && NetworkSceneManager.HasSceneMismatch(sceneIndex);

                float netTime = reader.ReadSinglePacked();
                NetworkingManager.Singleton.UpdateNetworkTime(clientId, netTime, receiveTime, true);

                NetworkingManager.Singleton.ConnectedClients.Add(NetworkingManager.Singleton.LocalClientId, new NetworkedClient()
                {
                    ClientId = NetworkingManager.Singleton.LocalClientId
                });


                void DelayedSpawnAction(Stream continuationStream)
                {
                    using (PooledBitReader continuationReader = PooledBitReader.Get(continuationStream))
                    {
                        if (!NetworkingManager.Singleton.NetworkConfig.EnableSceneManagement || NetworkingManager.Singleton.NetworkConfig.UsePrefabSync)
                        {
                            SpawnManager.DestroySceneObjects();
                        }
                        else
                        {
                            SpawnManager.ClientCollectSoftSyncSceneObjectSweep(null);
                        }

                        uint objectCount = continuationReader.ReadUInt32Packed();
                        for (int i = 0; i < objectCount; i++)
                        {
                            bool  isPlayerObject  = continuationReader.ReadBool();
                            ulong networkId       = continuationReader.ReadUInt64Packed();
                            ulong ownerId         = continuationReader.ReadUInt64Packed();
                            bool  hasParent       = continuationReader.ReadBool();
                            ulong?parentNetworkId = null;

                            if (hasParent)
                            {
                                parentNetworkId = continuationReader.ReadUInt64Packed();
                            }

                            ulong prefabHash;
                            ulong instanceId;
                            bool  softSync;

                            if (!NetworkingManager.Singleton.NetworkConfig.EnableSceneManagement || NetworkingManager.Singleton.NetworkConfig.UsePrefabSync)
                            {
                                softSync   = false;
                                instanceId = 0;
                                prefabHash = continuationReader.ReadUInt64Packed();
                            }
                            else
                            {
                                softSync = continuationReader.ReadBool();

                                if (softSync)
                                {
                                    instanceId = continuationReader.ReadUInt64Packed();
                                    prefabHash = 0;
                                }
                                else
                                {
                                    prefabHash = continuationReader.ReadUInt64Packed();
                                    instanceId = 0;
                                }
                            }

                            Vector3?   pos = null;
                            Quaternion?rot = null;
                            if (continuationReader.ReadBool())
                            {
                                pos = new Vector3(continuationReader.ReadSinglePacked(), continuationReader.ReadSinglePacked(), continuationReader.ReadSinglePacked());
                                rot = Quaternion.Euler(continuationReader.ReadSinglePacked(), continuationReader.ReadSinglePacked(), continuationReader.ReadSinglePacked());
                            }

                            NetworkedObject netObject = SpawnManager.CreateLocalNetworkedObject(softSync, instanceId, prefabHash, parentNetworkId, pos, rot);
                            SpawnManager.SpawnNetworkedObjectLocally(netObject, networkId, softSync, isPlayerObject, ownerId, continuationStream, false, 0, true, false);
                        }

                        NetworkingManager.Singleton.IsConnectedClient = true;

                        if (NetworkingManager.Singleton.OnClientConnectedCallback != null)
                        {
                            NetworkingManager.Singleton.OnClientConnectedCallback.Invoke(NetworkingManager.Singleton.LocalClientId);
                        }
                    }
                }

                if (sceneSwitch)
                {
                    UnityAction <Scene, Scene> onSceneLoaded = null;

                    Serialization.BitStream continuationStream = new Serialization.BitStream();
                    continuationStream.CopyUnreadFrom(stream);
                    continuationStream.Position = 0;

                    void OnSceneLoadComplete()
                    {
                        SceneManager.activeSceneChanged -= onSceneLoaded;
                        NetworkSceneManager.isSpawnedObjectsPendingInDontDestroyOnLoad = false;
                        DelayedSpawnAction(continuationStream);
                    }

                    onSceneLoaded = (oldScene, newScene) => { OnSceneLoadComplete(); };

                    SceneManager.activeSceneChanged += onSceneLoaded;

                    NetworkSceneManager.OnFirstSceneSwitchSync(sceneIndex, sceneSwitchProgressGuid);
                }
                else
                {
                    DelayedSpawnAction(stream);
                }
            }
        }
Exemple #60
0
        private void Update()
        {
            if (!Configured)
            {
                return;
            }
            if (m_Initialized && healthHaver && healthHaver.IsDead)
            {
                StopAllCoroutines();
                if (m_LandingVFX)
                {
                    SpawnManager.Despawn(m_LandingVFX);
                }
                m_Anchor.gameObject.SetLayerRecursively(LayerMask.NameToLayer("Unoccluded"));
                m_Anchor.gameObject.SetLayerRecursively(m_CachedLayer);
                m_Parachute.transform.DetachChildren();
                m_Anchor.DetachChildren();
                sprite.DetachRenderer(m_ParachuteSprite);
                m_ParachuteSpriteAnimator.PlayAndDestroyObject("ParachuteLanded");
                Destroy(m_Anchor.gameObject);
                switchState = State.Wait;
            }
            switch (switchState)
            {
            case State.Wait:
                return;

            case State.PopIntoAir:
                sprite.renderer.enabled = true;
                if (UseLandingVFX)
                {
                    Vector3 m_VFXPosition = (m_cachedPosition + new Vector2(m_CachedPositionOffset.x, m_CachedPositionOffset.y + LandingPositionOffset));
                    m_LandingVFX = SpawnManager.SpawnVFX(ExpandAssets.LoadOfficialAsset <GameObject>("EmergencyCrate", ExpandAssets.AssetSource.BraveResources).GetComponent <EmergencyCrateController>().landingTargetSprite, m_VFXPosition, Quaternion.identity);
                    m_LandingVFX.transform.position -= new Vector3(0, m_LandingVFX.GetComponentInChildren <tk2dSprite>().GetBounds().size.y / 2);
                    m_LandingVFX.GetComponentInChildren <tk2dSprite>().UpdateZDepth();
                    UseLandingVFX = false;
                }
                m_Anchor.gameObject.SetLayerRecursively(LayerMask.NameToLayer("Unoccluded"));
                if (StartsIntheAir)
                {
                    m_Anchor.position += new Vector3(DropHeightHorizontalOffset, StartHeight);
                }
                StartCoroutine(HandlePopup());
                switchState = State.Wait;
                return;

            case State.ParaDrop:
                if (!m_ParadropStarted)
                {
                    m_ParadropStarted = true;
                    m_ParachuteSprite.SetSprite("EX_Parachute_Open_01");
                    m_ParachuteSpriteAnimator.Play("ParachuteDeploy");
                    m_ParachuteSprite.renderer.enabled = true;
                    StartCoroutine(HandleDrop());
                }
                Quaternion Clockwise        = Quaternion.Euler(new Vector3(0, 0, m_maxSway));
                Quaternion CounterClockwise = Quaternion.Euler(new Vector3(0, 0, -m_maxSway));
                float      Lerp             = 0.5F * (1.0F + Mathf.Sin(Mathf.PI * Time.realtimeSinceStartup * SwaySpeed));
                m_Anchor.localRotation = Quaternion.Lerp(Clockwise, CounterClockwise, Lerp);
                if (IsItemCrate)
                {
                    Quaternion BoxClockwise        = Quaternion.Euler(new Vector3(0, 0, -(m_maxSway / 1.75f)));
                    Quaternion BoxCounterClockwise = Quaternion.Euler(new Vector3(0, 0, (m_maxSway / 1.75f)));
                    m_ItemBoxAnchor.transform.localRotation = Quaternion.Lerp(BoxClockwise, BoxCounterClockwise, Lerp);
                }
                return;

            case State.End:
                switchState = State.Wait;     // Do this first encase somehow there's an exception. Will stay in wait state instead of endlessly causing exceptions. :P
                if (knockbackDoer)
                {
                    knockbackDoer.SetImmobile(false, "Paradrop Protection");
                }
                m_Anchor.gameObject.SetLayerRecursively(m_CachedLayer);
                m_Parachute.transform.DetachChildren();
                if (IsItemCrate)
                {
                    m_Parachute.SetLayerRecursively(LayerMask.NameToLayer("Unoccluded"));
                    m_ItemBoxAnchor.transform.DetachChildren();
                    Destroy(m_ItemBoxAnchor);
                }
                m_Anchor.DetachChildren();
                sprite.DetachRenderer(m_ParachuteSprite);
                m_ParachuteSpriteAnimator.PlayAndDestroyObject("ParachuteLanded");
                transform.rotation = m_CachedRotation;
                if (specRigidbody)
                {
                    // Item crate's collision only used to help with setting up correct offsets for parent objects.
                    // If it's item crate this setting will be left to it's starting value of false.
                    if (!IsItemCrate)
                    {
                        specRigidbody.CollideWithOthers = true;
                    }
                    specRigidbody.UpdateColliderPositions();
                    specRigidbody.Reinitialize();
                }
                if (m_ParentEnemy)
                {
                    if (m_ParentEnemy.HasShadow && m_ParentEnemy.ShadowObject)
                    {
                        m_ParentEnemy.ShadowObject.GetComponent <tk2dSprite>().renderer.enabled = true;
                    }
                    if (m_ParentEnemy.aiShooter)
                    {
                        m_ParentEnemy.aiShooter.ToggleGunAndHandRenderers(true, "ParaDrop");
                    }
                    m_ParentEnemy.behaviorSpeculator.enabled                = true;
                    m_ParentEnemy.HasBeenEngaged                            = true;
                    m_ParentEnemy.behaviorSpeculator.PostAwakenDelay        = 0;
                    m_ParentEnemy.behaviorSpeculator.RemoveDelayOnReinforce = true;
                }
                if (healthHaver)
                {
                    healthHaver.PreventAllDamage = false;
                    healthHaver.IsVulnerable     = true;
                }
                Destroy(m_Anchor.gameObject);
                if (ParentObjectExplodyBarrel && !IsItemCrate)
                {
                    spriteAnimator.PlayAndDestroyObject("explode");
                    if (m_CachedExplosionData != null)
                    {
                        Exploder.Explode(sprite.WorldCenter, m_CachedExplosionData, Vector2.zero, null, true, CoreDamageTypes.None, false);
                    }
                }
                if (!ParentObjectExplodyBarrel && !IsItemCrate)
                {
                    Destroy(this);
                }
                if (IsItemCrate)
                {
                    sprite.renderer.sortingLayerName = "Background";
                    sprite.HeightOffGround           = -1.5f;
                    sprite.UpdateZDepth();
                    StartCoroutine(SpawnItem(ItemDropID));
                }
                return;
            }
        }