private void ProcessSpecialAction(SpecialActionEnum action, int objectId) { //Debug.Log("Received special action " + action); ObjectController objectCtrlr = _objects.Find(ply => ply.ObjectId.Equals(objectId)); if (objectCtrlr != null) { switch (action) { case SpecialActionEnum.FiringStart: if (objectCtrlr.ObjectType.Equals(ObjectEnum.Player)) { ((PlayerController)objectCtrlr).SetFiring(true); } break; case SpecialActionEnum.FiringStop: if (objectCtrlr.ObjectType.Equals(ObjectEnum.Player)) { ((PlayerController)objectCtrlr).SetFiring(false); } break; case SpecialActionEnum.Destroy: if (objectCtrlr.ObjectType.Equals(ObjectEnum.Projectile)) { ((ProjectileController)objectCtrlr).Explode(); _objects = _objects.Where(obj => !obj.ObjectId.Equals(objectCtrlr.ObjectId)).ToList(); } break; } } }
public SpecialAction(BitBuffer payload) { _action = (SpecialActionEnum)payload.readInt(0, Enum.GetValues(typeof(SpecialActionEnum)).Length); _objectId = payload.readInt(0, Int32.MaxValue); }
public SpecialAction(SpecialActionEnum action, int objetcId) { _action = action; _objectId = objetcId; }