public Tree create_tree(IPositionable position, string prefab_name) { var msg = new CreateTreeMessage() { Position = position.position, prefab_name = prefab_name }; return(new Tree(client.RemoteCall <TreeMessage>(Contracts.CreateTree, msg), this)); }
public Tree create_tree(IPositionable position, string prefab_name) { var msg = new CreateTreeMessage() { Position = position.position, prefab_name = prefab_name }; Tree shell = ObjectStorage.Instance.Trees.CreateShell(); client.RemoteCall(Contracts.CreateTree, msg, (ret, error) => { if (error != null) { shell.AssignData(null, error); return(null); } TreeData data = (TreeData)ret; ObjectStorage.Instance.Trees.AddDataToDictionary(data); shell.AssignData(data); return(null); }); return(shell); }