public override IAction Interact(Entity activeActor, Entity pasiveActor) { ItemInteractionController visualizer = GetVisualizersList().Find(x => x.ReplaceItem.GetComponent <Entity>() == pasiveActor); GetVisualizersList().Remove(visualizer); PickItemAction result = new PickItemAction(activeActor, pasiveActor, visualizer); return(result); }
private void PickByMe() { var whoAttr = ObjectManager.objectManager.GetMyAttr(); var cg = CGPlayerCmd.CreateBuilder(); cg.Cmd = "Pick"; var pickAction = PickItemAction.CreateBuilder(); pickAction.Id = netView.GetServerID(); pickAction.ItemId = itemData.ObjectId; pickAction.ItemNum = num; pickAction.Who = whoAttr.GetComponent <KBEngine.KBNetworkView>().GetServerID(); cg.PickAction = pickAction.Build(); NetworkUtil.Broadcast(cg); }
IEnumerator PickItem(GameObject who) { PickItemFromNetwork(who); var cg = CGPlayerCmd.CreateBuilder(); cg.Cmd = "Pick"; var pickAction = PickItemAction.CreateBuilder(); pickAction.Id = netView.GetServerID(); pickAction.ItemId = itemData.ObjectId; pickAction.ItemNum = num; pickAction.Who = who.GetComponent <KBEngine.KBNetworkView>().GetServerID(); cg.PickAction = pickAction.Build(); NetworkUtil.Broadcast(cg); NetworkUtil.RemoveEntityToNetwork(netView); yield break; }
protected override bool IsValidInteractionInternal(Entity activeActor, Entity pasiveActor) { return(PickItemAction.IsValidInteraction(activeActor, pasiveActor)); }