예제 #1
0
    // Use this for initialization
    void Start()
    {
        cvar_watcher = FindObjectOfType <Server_watcher>();//Need to register on all end cuz its required by timescale
        if (!isLocalPlayer)
        {
            return;
        }
        msg_watcher  = FindObjectOfType <Message_board_watcher>();
        obRB         = GetComponent <Rigidbody2D>();
        interpolator = GetComponent <Interpolator_generic>();
        GetComponent <SpriteRenderer>().enabled = true;
        mainCam     = Camera.main;
        main_camera = mainCam.transform;

        Destroy(main_camera.GetComponent <Fisheye>());
        Destroy(main_camera.GetComponent <ColorCorrectionCurves>());
        Destroy(main_camera.GetComponent <BlurOptimized>());
        Destroy(main_camera.GetComponent <ContrastStretch>());
        Destroy(main_camera.GetComponent <NoiseAndGrain>());
        Destroy(main_camera.GetComponent <VignetteAndChromaticAberration>());
        //debug_info = GameObject.Find("Debug_log").GetComponent<Text>();
        cam3D = GameObject.Find("Background3D_Camera").transform;
        Destroy(GameObject.Find("Darkness"));
        Destroy(GameObject.Find("Fade_view"));
        characters = FindObjectsOfType <Body_generic>();
        StartCoroutine(fetch_characters());
    }
예제 #2
0
    // Use this for initialization
    void Start()
    {
        cvar_watcher = Server_watcher.Singleton;
        msg_watcher  = cvar_watcher.GetComponent <Message_board_watcher>();

        if (!isLocalPlayer)
        {
            state_update = Update_inGame;
            return;
        }

        cvar_watcher.local_player = this;
        GUI = Instantiate(GUI_template).GetComponent <GUI_manager>();
        GUI.cvar_watcher = cvar_watcher;
        GUI_template     = null;
        if (character_type == Body_generic.Character_type.Observer)
        {
            GUI.observer_healthbar.gameObject.SetActive(true);
            GetComponent <Observer_controller>().health_bar = GUI.observer_healthbar;
            GetComponent <Observer_controller>().debug_info = GUI.debug_info;
        }
        else
        {
            GetComponent <Player_controller>().debug_info = GUI.debug_info;
        }
        cvar_watcher.onClientReady.Add(GUI.OnClientReady);
        state_update = Update_waitingReady;
    }
예제 #3
0
 // Use this for initialization
 void Start()
 {
     cvar_watcher   = FindObjectOfType <Server_watcher>();
     equip          = GetComponent <Equipable_generic>();
     gameObject.tag = "pickup_gun";
     if (bullet != null && bullet.tag == "bullet_flame")
     {
         GameObject blt = Instantiate(bullet, Vector2.zero, Quaternion.identity);
         blt.GetComponent <Fluid_generic>().PS.transform.parent     = transform;
         blt.GetComponent <Fluid_generic>().PS.transform.position   = fire_point.position;
         blt.GetComponent <Fluid_generic>().PS.transform.rotation   = Quaternion.Euler(0, 0, transform.rotation.z - blt.GetComponent <Fluid_generic>().PS.shape.arc / 2);
         blt.GetComponent <Fluid_generic>().PS.transform.localScale = new Vector3(1, 1, 1);
         bullet = blt.GetComponent <Fluid_generic>().PS.gameObject;
         blt.GetComponent <Fluid_generic>().local = GetComponent <Equipable_generic>().isServer;
         blt.GetComponent <Fluid_generic>().DmgParticle_start_dmg *= thermal;
         blt.GetComponent <Fluid_generic>().DmgParticle_end_dmg   *= thermal;
     }
     if (isSemiAuto)
     {
         modes.Add(FireMode.Semi_auto);
     }
     if (isFullyAuto)
     {
         modes.Add(FireMode.Fully_auto);
     }
     for (int i = 0; i < modes.Count; i++)
     {
         if (modes[i] == firemode)
         {
             firemode_index = i;
             break;
         }
     }
 }
예제 #4
0
 // Use this for initialization
 void Start()
 {
     cvar_watcher = FindObjectOfType <Server_watcher>();
     Darkness     = GameObject.Find("Darkness");
     fade_view    = GameObject.Find("Fade_view");
     if (!cvar_watcher.losVision)
     {
         Destroy(Darkness);
         Destroy(fade_view);
         Destroy(this);
         return;
     }
     fade_view_left  = fade_view.transform.Find("Fade_view_leaf_left");
     fade_view_right = fade_view.transform.Find("Fade_view_leaf_right");
     controller      = GetComponent <Player_controller>();
     if (!controller.isLocalPlayer)
     {
         Destroy(this);
         return;
     }
     body                           = GetComponent <Body_generic>();
     viewMesh                       = new Mesh();
     viewMesh.name                  = "View Mesh";
     viewMeshFilter.mesh            = viewMesh;
     sprite_orient                  = GetComponent <Player_controller>().sprite_orient;
     fade_view.transform.localScale = new Vector2(body.viewRadius, body.viewRadius);
     fade_view_left.localRotation   = Quaternion.Euler(0, 0, body.viewAngle / 2);
     fade_view_right.localRotation  = Quaternion.Euler(0, 0, -body.viewAngle / 2);
     //StartCoroutine("FindTargetsWithDelay", 0.2f);
 }
예제 #5
0
 // Use this for initialization
 void Start()
 {
     cvar_watcher = Server_watcher.Singleton;
     cvar_watcher.add_entity(gameObject);
     if (targetname != "")
     {
         name = targetname;
     }
 }
예제 #6
0
    // Use this for initialization
    void Start()
    {
        cvar_watcher = FindObjectOfType <Server_watcher>();
        cvar_watcher.onClientReady.Add(OnClientReady);

        cart   = new List <byte>();
        s_cart = new List <byte>();
        //SubPurchase_load();
    }
예제 #7
0
 /*Unity functions*/
 //Initialization
 void Start()
 {
     Singleton                 = this;
     message_watcher           = GetComponent <Message_board_watcher>();
     lobbyManager              = FindObjectOfType <Prototype.NetworkLobby.LobbyManager>();
     onClientReady             = new List <Action>();
     lobbyManager.cvar_watcher = this;
     DontDestroyOnLoad(gameObject);
 }
예제 #8
0
 void Start()
 {
     cvar_watcher = Server_watcher.Singleton;
     if (cvar_watcher.local_player == null)
     {
         cvar_watcher.onClientReady.Add(OnClientReady);
         return;
     }
     examine_collision();
 }
예제 #9
0
        public void CmdNameChanged(string name)
        {
            Server_watcher cvar_watcher = Server_watcher.Singleton;

            if (cvar_watcher != null && playerName != name && playerName != "")
            {
                cvar_watcher.sv_sendMessage(gameObject, "Player '" + playerName + "' has changed the name to '" + name + "'", true);
            }
            playerName = name;
        }
예제 #10
0
        public void CmdCharacterChange()
        {
            Server_watcher cvar_watcher = Server_watcher.Singleton;

            if (cvar_watcher == null)
            {
                return;
            }
            character_idx++;
            if (character_idx >= CONSTANTS.map_characters[cvar_watcher.map].Length)
            {
                character_idx = 0;
            }
            playerCharacter = CONSTANTS.map_characters[cvar_watcher.map][character_idx];
        }
예제 #11
0
 // Use this for initialization
 void Start()
 {
     if (schemeType == scheme_type.Sprite)
     {
         sprite = GetComponent <SpriteRenderer>();
     }
     else if (schemeType == scheme_type.Light)
     {
         lt = GetComponent <Light>();
     }
     if (serverAccurateSpawnTime)
     {
         cvar_watcher = Server_watcher.Singleton;
     }
 }
예제 #12
0
    // Use this for initialization
    void Start()
    {
        //Server need this link to assign purchased weapons
        body         = GetComponent <Body_generic>();
        cvar_watcher = FindObjectOfType <Server_watcher>();
        main_camera  = Camera.main;
        controller   = GetComponent <Player_controller>();
        if (!GetComponent <Player_controller>().isLocalPlayer)
        {
            enabled = false;
            return;
        }
        else//Continues as local player
        {
            if (cvar_watcher.map_type == CONSTANTS.MAP_TYPE.PVP)
            {
                //Menu
                menu      = Instantiate(menu_prefab).GetComponent <Menu_watcher>();
                menu.body = body;
                menu.buffer_inventory_size = body.inventory_size;

                if (body.isBot())
                {
                    menu.robot_menu.SetActive(true);
                    menu.robot_submenu[controller.character_subtype].SetActive(true);
                    menu.human_menu.SetActive(false);
                    menu.zombie_menu.SetActive(false);
                    menu.purchase_buttons = menu.purchase_buttons_robot;
                    menu.upgrade_buttons  = menu.upgrade_buttons_robot;
                    menu.purchasables     = cvar_watcher.purchases_robot;
                }
                else if (body.isHuman())
                {
                    menu.robot_menu.SetActive(false);
                    menu.human_menu.SetActive(true);
                    menu.human_submenu[controller.character_subtype].SetActive(true);
                    menu.zombie_menu.SetActive(false);
                    menu.purchase_buttons = menu.purchase_buttons_human;
                    menu.upgrade_buttons  = menu.upgrade_buttons_human;
                    menu.purchasables     = cvar_watcher.purchases_human;
                }
                else if (body.isZombie())
                {
                    menu.robot_menu.SetActive(false);
                    menu.human_menu.SetActive(false);
                    menu.zombie_menu.SetActive(true);
                    menu.zombie_submenu[controller.character_subtype].SetActive(true);
                    menu.purchase_buttons = menu.purchase_buttons_human;
                    menu.upgrade_buttons  = menu.upgrade_buttons_zombie;
                    menu.purchasables     = cvar_watcher.purchases_zombie;
                }
                menu.purchase_buttons_robot = null;
                menu.purchase_buttons_human = null;
            }


            cursor           = Instantiate(cursor);
            cursor_anim      = cursor.GetComponent <Animator>();
            cursor_l         = cursor.transform.Find("cursor_l");
            cursor_r         = cursor.transform.Find("cursor_r");
            cursor_u         = cursor.transform.Find("cursor_u");
            cursor_d         = cursor.transform.Find("cursor_d");
            cursor_marker_sw = cursor.transform.Find("hit_marker_sw");
            cursor_marker_se = cursor.transform.Find("hit_marker_se");
            cursor_marker_nw = cursor.transform.Find("hit_marker_nw");
            cursor_marker_ne = cursor.transform.Find("hit_marker_ne");
        }
        GetComponent <Body_generic>().OnDamaged = damaged_screen;
        //HUD set-up
        //HUD_camera = Instantiate(HUD_camera, Vector2.zero, Quaternion.identity);
        //HUD_generic hud_generic = HUD_camera.GetComponent<HUD_generic>();
        //HUD_camera.transform.parent = main_camera.transform;
        //HUD_camera.transform.position = main_camera.transform.position;
        HUD = Instantiate(HUD);
        HUD_generic hud_generic = HUD.GetComponent <HUD_generic>();

        ammo_field = hud_generic.AmmoField;
        icon_field = hud_generic.ItemIcon;

        icon_field_anim = icon_field.GetComponent <Animator>();
        overlay         = hud_generic.Overlay;
        //ammo_field.GetComponent<MeshRenderer>().sortingLayerName = "HUD";



        //Disable unwanted screen filters


        if (body.character_type == Body_generic.Character_type.Robot)
        {
            //Destroy(main_camera.GetComponent<ColorCorrectionCurves>());
            Destroy(main_camera.GetComponent <BlurOptimized>());
            //Destroy(main_camera.GetComponent<ContrastStretch>());
        }
        else if (body.character_type == Body_generic.Character_type.Human)
        {
            Destroy(main_camera.GetComponent <NoiseAndGrain>());
            Destroy(main_camera.GetComponent <VignetteAndChromaticAberration>());
        }
        else if (body.character_type == Body_generic.Character_type.Zombie)
        {
            Destroy(main_camera.GetComponent <NoiseAndGrain>());
            Destroy(main_camera.GetComponent <VignetteAndChromaticAberration>());
        }
    }
예제 #13
0
 private void Start()
 {
     cvar_watcher = FindObjectOfType <Server_watcher>();
     cvar_watcher.comp_spawnPoint_manager.addSpawnPointRobot(this);
 }
예제 #14
0
    //Load cvar to text board
    public void Load_cvar()
    {
        Prototype.NetworkLobby.LobbyManager lobby_manager = FindObjectOfType <Prototype.NetworkLobby.LobbyManager>();
        cvar_watcher = lobby_manager.cvar_watcher;

        if (cvar_watcher != null)
        {
            if (cvar_watcher.isServer)
            {
                //Turn on cvar inputs
                Selectable[] cvar_selects = lobby_manager.Cvar_list_panel.GetComponentsInChildren <Selectable>();
                for (int i = 0; i < cvar_selects.Length; i++)
                {
                    cvar_selects[i].interactable = true;
                }
            }
            else
            {
                //Turn on cvar inputs
                Selectable[] cvar_selects = lobby_manager.Cvar_list_panel.GetComponentsInChildren <Selectable>();
                for (int i = 0; i < cvar_selects.Length; i++)
                {
                    cvar_selects[i].interactable = false;
                }
            }
        }


        Text_human_limit.text     = cvar_watcher.team_num_human.ToString();
        Text_robot_limit.text     = cvar_watcher.team_num_robot.ToString();
        Text_zombie_limit.text    = cvar_watcher.team_num_zombie.ToString();
        Text_respawn_time.text    = cvar_watcher.respawn_time.ToString();
        Text_human_respawns.text  = cvar_watcher.tickets_human.ToString();
        Text_robot_respawns.text  = cvar_watcher.tickets_robot.ToString();
        Text_zombie_respawns.text = cvar_watcher.tickets_zombie.ToString();
        Text_max_skill_death.text = cvar_watcher.maxSkillSpentPerDeath.ToString();
        Text_start_money.text     = cvar_watcher.insurance_money.ToString();
        if (cvar_watcher.allyBulletPassThru)
        {
            Text_friendlyfire.text = "Off";
        }
        else
        {
            Text_friendlyfire.text = "On";
        }

        if (cvar_watcher.losVision)
        {
            Text_los.text = "On";
        }
        else
        {
            Text_los.text = "Off";
        }
        if (cvar_watcher.team_transparent)
        {
            Text_teamtransparent.text = "Off";
        }
        else
        {
            Text_teamtransparent.text = "On";
        }
    }
예제 #15
0
 // Use this for initialization
 void Start()
 {
     cvar_watcher = GetComponent <Server_watcher>();
 }
예제 #16
0
 void Awake()
 {
     //Register to cvar watcher on awake, onstart has a low chance to glitch the gun
     cvar_watcher  = FindObjectOfType <Server_watcher>();
     sound_watcher = FindObjectOfType <Sound_watcher>();
 }
예제 #17
0
    // Use this for initialization
    void Start()
    {
        cvar_watcher = FindObjectOfType <Server_watcher>();
        if (race == Body_generic.Character_type.Human)
        {
            cvar_watcher.team_human = this;
        }
        else if (race == Body_generic.Character_type.Robot)
        {
            cvar_watcher.team_robot = this;
        }
        else if (race == Body_generic.Character_type.Zombie)
        {
            cvar_watcher.team_zombie = this;
        }
        //set text
        if (text_counter != null)
        {
            text_counter.text = respawns_token.ToString();
        }


        cvar_watcher.onClientReady.Add(OnClientReady);

        /*
         * //Find the player entity and register them to corresponding teams; If this fail to find players, players are going to find the team
         * //Let player/observer know of this entity, and making them check if this team members are spawn-ready
         * Player_controller[] players = FindObjectsOfType<Player_controller>();
         * Debug.LogError("player number: "+players.Length);
         * for (int i = 0; i < players.Length; i++)
         * {
         *  //Debug.LogError("found player: " + players[i].gameObject.name + " and his type: " + players[i].GetComponent<Body_generic>().character_type);
         *  if (players[i].GetComponent<Body_generic>().character_type == race)
         *  {
         *      players[i].GetComponent<Body_generic>().team = this;
         *      //Debug.LogError("player ready: "+ players[i].gameObject.name);
         *      //body_ready++;
         *  }
         * }
         */

        //Server operations, spawn npc and assign team
        if (isServer)
        {
            alive = cvar_watcher.get_joined_character(race);
            if (alive <= 0)
            {
                enabled = false;
            }
            respawns_token = cvar_watcher.get_init_tickets(race);

            //Spawn npcs
            int number_to_spawn = alive - cvar_watcher.get_joined_player(race);
            //body_to_getReady = alive;
            //Rpc_tell_client_number(alive);

            for (int i = 0; i < number_to_spawn; i++)
            {
                int        ran = UnityEngine.Random.Range(0, character.Length);
                GameObject npc = Instantiate(character[ran], transform.position, transform.rotation);
                //Debug.LogError("spawn: "+character[ran]);
                NetworkServer.Spawn(npc);
                Body_generic body_npc = npc.GetComponent <Body_generic>();
                body_npc.cvar_watcher = cvar_watcher;//Needs to initialize on server side
                npc.GetComponent <Body_generic>().bodyRB = npc.GetComponent <Rigidbody2D>();
                body_npc.OnRespawn = npc.GetComponent <AI_generic>().shopping;
                npc.GetComponent <AI_generic>().set_ai_condition(AI_generic.AI_condition.AGGRESSIVE);
                body_npc.team = this;


                //Make sure the upgrades are ready before shopping;
                if (body_npc.isHuman())
                {
                    body_npc.upgrades = cvar_watcher.upgrades_human;
                }
                else if (body_npc.isBot())
                {
                    body_npc.upgrades = cvar_watcher.upgrades_robot;
                }
                else if (body_npc.isZombie())
                {
                    body_npc.upgrades = cvar_watcher.upgrades_zombie;
                }
                npc.GetComponent <AI_generic>().body = body_npc;
                npc.GetComponent <AI_generic>().shopping();
                //npc.GetComponent<AI_generic>().freeze_movement = true;//waiting for the preround to end
                npc.GetComponent <Body_generic>().character_cond = Body_generic.Character_condition.FROZEN;
            }
        }



        /*
         * if (isServer)
         * {
         *  int percent = 100 / weapon.Length;
         *  for (int i = 0; i < spawners.Length; i++)
         *  {
         *      spawners[i].spawn_limit = team_limit;
         *      for(int j = 0; j < weapon.Length; j++)
         *      {
         *          spawners[i].equip_template.Add(new KeyValuePair<GameObject, int>(weapon[j], percent));
         *      }
         *      spawners[i].npc_template.Add(new KeyValuePair<GameObject, int>(character, 100));
         *  }
         * }
         */
    }