private void Shoot() { if (OwnController.Info.GetComponent <StateBar>().CurrentEnergy >= 10) { GameObject bullet = Instantiate(Bullet, transform.position, transform.rotation); bullet.GetComponent <BulletController>().Damage = _damage; bullet.GetComponent <BulletController>().Speed = _bulletSpeed; //OwnController.Info.GetComponent<StateBar>().ConsumeEnergy(10); BulletController bulletController = bullet.GetComponent <BulletController>(); bulletController.target = Target.GetComponent <ColliderController>().GameBody; bulletController.targetCollider = Target; bulletController.isShoot = true; bulletController.Camp = OwnController.Camp; MessageBox.MessageBase MB = new MessageBox.MessageBase(); MB.Type = "SendBulletMessage"; MessageBox.Position SP = new MessageBox.Position { x = transform.position.x, y = transform.position.y }; MessageBox.SendBulletMessage SBM = new MessageBox.SendBulletMessage(); SBM.ShooterID = OwnController.id; SBM.StartPosition = JsonUtility.ToJson(SP); SBM.TargetID = Target.gameObject.GetComponent <OtherObjectController>().id; MB.Message = JsonUtility.ToJson(SBM); WS.Send(JsonUtility.ToJson(MB)); } }
public void initialize(MessageBox.InitializeMessage message) { _camp = GetOtherCamp(message.Camp); Debug.Log("Camp:" + _camp); MessageBox.Position position = JsonUtility.FromJson <MessageBox.Position>(message.PlayerPosition); GameObject player = Instantiate(Player, new Vector3(position.x, position.y, 0), new Quaternion()); player.name = "Player"; player.GetComponent <PlayerController>().id = message.PlayerID; player.GetComponentInChildren <StateBar>().id = message.PlayerID; Collector.Others.Add(new Collector.KeyValuePair { key = message.PlayerID, value = player }); position = JsonUtility.FromJson <MessageBox.Position>(message.HingePosition); GameObject hinge = Instantiate(Hinge, new Vector3(position.x, position.y, 0), new Quaternion()); hinge.name = "Hinge"; hinge.GetComponent <HingeController>().id = message.HingeID; hinge.GetComponentInChildren <StateBar>().id = message.HingeID; Collector.Others.Add(new Collector.KeyValuePair { key = message.HingeID, value = hinge }); }
public void initializeOthers(MessageBox.OtherInitializeMessage message) { Color OtherCamp = GetOtherCamp(message.Camp); MessageBox.Position position = JsonUtility.FromJson <MessageBox.Position>(message.PlayerPosition); GameObject otherPlayer = Instantiate(OtherPlayer, new Vector3(position.x, position.y, 0), new Quaternion()); otherPlayer.GetComponent <OtherObjectController>().id = message.PlayerID; otherPlayer.GetComponent <OtherObjectController>().type = OtherObjectController.Type.Player; otherPlayer.GetComponent <OtherObjectController>().SendMessage("Init", OtherCamp); position = JsonUtility.FromJson <MessageBox.Position>(message.HingePosition); GameObject otherHinge = Instantiate(OtherHinge, new Vector3(position.x, position.y, 0), new Quaternion()); otherHinge.GetComponent <OtherObjectController>().id = message.HingeID; otherHinge.GetComponent <OtherObjectController>().type = OtherObjectController.Type.Hinge; otherHinge.GetComponent <OtherObjectController>().SendMessage("Init", OtherCamp); }
void OnMessage(string data) { JsonUtility.FromJsonOverwrite(data, MessageBase); switch (MessageBase.Type) { case "InitializeMessage": JsonUtility.FromJsonOverwrite(MessageBase.Message, InitializeMessage); Initialize.SendMessage("initialize", InitializeMessage); break; case "PlayerPosition": JsonUtility.FromJsonOverwrite(MessageBase.Message, PlayerPosition); GameObject Player = new GameObject(); foreach (Collector.KeyValuePair p in Collector.Others) { if (p.key == PlayerPosition.id) { Player = p.value; } } Player.transform.position = new Vector3(PlayerPosition.x, PlayerPosition.y, 0); break; case "OtherInitializeMessage": JsonUtility.FromJsonOverwrite(MessageBase.Message, OtherInitializeMessage); Initialize.SendMessage("initializeOthers", OtherInitializeMessage); break; case "BulletMessage": JsonUtility.FromJsonOverwrite(MessageBase.Message, BulletMessage); MessageBox.Position SP = new MessageBox.Position(); JsonUtility.FromJsonOverwrite(BulletMessage.StartPosition, SP); Debug.Log("SP: x:" + SP.x + "SP:y:" + SP.y); GameObject bullet = Instantiate(Bullet, new Vector3(SP.x, SP.y, 0), new Quaternion()); foreach (Collector.KeyValuePair p in Collector.Others) { if (p.key == BulletMessage.TargetID) { bullet.GetComponent <OtherBulletController>().target = p.value; } } bullet.GetComponent <OtherBulletController>().Camp = Initialize.GetOtherCamp(BulletMessage.Camp); bullet.GetComponent <OtherBulletController>().isShoot = true; break; case "ChangeStateBar": Debug.Log(data); JsonUtility.FromJsonOverwrite(MessageBase.Message, ChangeStateBar); GameObject Object = new GameObject(); foreach (Collector.KeyValuePair p in Collector.Others) { if (p.key == ChangeStateBar.id) { Object = p.value; Debug.Log("get Object"); } } Object.GetComponentInChildren <StateBar>().ChangeInfoByMessage(ChangeStateBar); break; case "BuildMessage": Debug.Log("BuildMessage: " + data); JsonUtility.FromJsonOverwrite(MessageBase.Message, BuildMessage); MessageBox.Position P = JsonUtility.FromJson <MessageBox.Position>(BuildMessage.Position); switch (BuildMessage.Type) { case "Field": GameObject Field = Resources.Load <GameObject>("Prefabs/Field"); GameObject field = Instantiate(Field, new Vector3(P.x, P.y, 0), new Quaternion()); field.GetComponent <FieldController>().id = BuildMessage.id; field.GetComponentInChildren <StateBar>().id = BuildMessage.id; Collector.Others.Add(new Collector.KeyValuePair { key = BuildMessage.id, value = field }); break; case "Reserve": GameObject Reserve = Resources.Load <GameObject>("Prefabs/Reserve"); GameObject reserve = Instantiate(Reserve, new Vector3(P.x, P.y, 0), new Quaternion()); reserve.GetComponent <FieldController>().id = BuildMessage.id; reserve.GetComponentInChildren <StateBar>().id = BuildMessage.id; Collector.Others.Add(new Collector.KeyValuePair { key = BuildMessage.id, value = reserve }); break; case "Turret": GameObject Turret = Resources.Load <GameObject>("Prefabs/Turret"); GameObject turret = Instantiate(Turret, new Vector3(P.x, P.y, 0), new Quaternion()); turret.GetComponent <FieldController>().id = BuildMessage.id; turret.GetComponentInChildren <StateBar>().id = BuildMessage.id; Collector.Others.Add(new Collector.KeyValuePair { key = BuildMessage.id, value = turret }); break; } break; case "OtherBuildMessage": Debug.Log("OtherBuildMessage: " + data); JsonUtility.FromJsonOverwrite(MessageBase.Message, BuildMessage); MessageBox.Position PP = JsonUtility.FromJson <MessageBox.Position>(BuildMessage.Position); switch (BuildMessage.Type) { case "Field": GameObject Field = Resources.Load <GameObject>("Prefabs/OtherField"); GameObject field = Instantiate(Field, new Vector3(PP.x, PP.y, 0), new Quaternion()); field.GetComponent <OtherObjectController>().id = BuildMessage.id; field.GetComponent <OtherObjectController>().SendMessage("Init", Initialize.GetOtherCamp(BuildMessage.Camp)); Collector.Others.Add(new Collector.KeyValuePair { key = BuildMessage.id, value = field }); break; case "Reserve": GameObject Reserve = Resources.Load <GameObject>("Prefabs/OtherReserve"); GameObject reserve = Instantiate(Reserve, new Vector3(PP.x, PP.y, 0), new Quaternion()); reserve.GetComponent <OtherObjectController>().id = BuildMessage.id; reserve.GetComponent <OtherObjectController>().SendMessage("Init", Initialize.GetOtherCamp(BuildMessage.Camp)); Collector.Others.Add(new Collector.KeyValuePair { key = BuildMessage.id, value = reserve }); break; case "Turret": GameObject Turret = Resources.Load <GameObject>("Prefabs/OtherTurret"); GameObject turret = Instantiate(Turret, new Vector3(PP.x, PP.y, 0), new Quaternion()); turret.GetComponent <OtherObjectController>().id = BuildMessage.id; turret.GetComponent <OtherObjectController>().SendMessage("Init", Initialize.GetOtherCamp(BuildMessage.Camp)); Collector.Others.Add(new Collector.KeyValuePair { key = BuildMessage.id, value = turret }); break; } break; } }